コードは正しいはずなんだけどなぜか『CS1012 文字リテラルが多すぎます』ってエラー表示が出て先に勧めなかったことがあったので、備忘録として残しておくことにしました。
まさに注意点の話なんだけどUnityのC#スクリプトを使って文字を扱う時は「’」シングルコーテーションと「”」ダブルコーテーションの使い方にきまりがあるらしいことがわかった。
結論から言ってしまえば変数で文字列(複数の文字)を扱う時は、「’」シングルコーテーションを使うとエラーが出ちゃうという話。
ざっくり言えば「’」シングルコーテーションは、半角文字1文字以外は受け付けない、複数の文字を扱いたいのであれば、「”」ダブルコーテーションを使わなくてはならないという事らしい。
javascriptで慣れちゃったので、そんなきまりがあるとはつゆ知らず。。エラーの原因がわからず、他のコードを見かえしたりと、不毛な時間を使ってしまいました。
この問題が発生するのは以下の『char』『string』を扱う時
char a = 'a';
string b = "a";
string[] d = new string[] { "a", "b", "c" };
char型で宣言する時は「」シングルコーテーションを必ず使う事
stringを使う時は、必ず「”」ダブルコーテーションを使う事
と覚えておけば間違いなさそうな気がする。
以上


コメント