変数で文字扱う時の注意点

未分類

コードは正しいはずなんだけどなぜか『CS1012 文字リテラルが多すぎます』ってエラー表示が出て先に勧めなかったことがあったので、備忘録として残しておくことにしました。


まさに注意の話なんだけどUnityのC#スクリプトを使って文字を扱う時は「’」シングルコーテーションと「”」ダブルコーテーションの使い方にきまりがあるらしいことがわかった。

結論から言ってしまえば変数で文字列(複数の文字)を扱う時は、「’」シングルコーテーションを使うとエラーが出ちゃうという話。

ざっくり言えば「’」シングルコーテーションは、半角文字1文字以外は受け付けない、複数の文字を扱いたいのであれば、「”」ダブルコーテーションを使わなくてはならないという事らしい。

javascriptで慣れちゃったので、そんなきまりがあるとはつゆ知らず。。エラーの原因がわからず、他のコードを見かえしたりと、不毛な時間を使ってしまいました。

この問題が発生するのは以下の『char』『string』を扱う時

char a = 'a';
string b = "a";
string[] d = new string[] { "a", "b", "c" };

char型で宣言する時は「」シングルコーテーションを必ず使う事
stringを使う時は、必ず「”」ダブルコーテーションを使う事

と覚えておけば間違いなさそうな気がする。

以上

コメント

タイトルとURLをコピーしました