VisualStudio15で追加される予定のC#7.0 をVisualStudio15 Preview4で確認してみました。
C#7.0 では、数値に桁区切り記号を追加して、記載できるようになるみたいです。
Int32 val1 = 1_010_010;
Console.WriteLine($"{val1}");
では、どこまで対応しているか、試してみたいと思います。
ノーマル
Int32 val1 = 10_101_010;
Console.WriteLine($"{val1}");
3桁以外の区切り位置
Int32 val2 = 10_1010_10;
Console.WriteLine($"{val2}");
区切り文字いっぱい
Int32 val3 = 10_101___010;
Console.WriteLine($"{val3}");
16進数で区切り文字
Int32 val4 = 0x9a21_12;
Console.WriteLine($"{val4}");
2進数で区切り文字
Int32 val5 = 0b100_110_100_010_000_100_010_010;
Console.WriteLine($"{val5}");
小数点で区切り文字
double val6 = 0.12_34;
Console.WriteLine($"{val6}");
ここまでは大丈夫でした。
10101010
10101010
10101010
10101010
10101010
0.1234
ここからは、コンパイラで怒られてしまった例:
バイナリリテラルのbの直後
Int32 val7 = 0b_100_110_100_010_000_100_010_010;
Console.WriteLine($"{val7}");
数値の最初または最後
Int32 val8 = 123_;
Int32 val9 = _123;
Console.WriteLine($"{val8}");
Console.WriteLine($"{val9}");
考察
とりあえず、すぐに思いつく限りはやってみました。
基本的な箇所には、使えるようです。(当たり前ですが・・・)
これで、桁数が大きい場合のコードミスが減りそうですね。
(でも、コードミスするような人は、使ってくれないんですよね(T_T))
0 件のコメント:
コメントを投稿