VisualStudio15で追加される予定のC#7.0 をVisualStudio15 Preview4で確認してみました。
C#7.0 では、数値を2進数で、記載できるようになるみたいです。
これを今までの VisualStudio2015 で記載すると、こんな風に叱られます。
結果
C#7.0 では、数値を2進数で、記載できるようになるみたいです。
//数値
var val1 = 1;
var val2 = 0x02;
var val3 = 0b011;
Console.WriteLine("{0},{1},{2}", val1, val2, val3);
これを今までの VisualStudio2015 で記載すると、こんな風に叱られます。
エラー CS0103 現在のコンテキストに 'b011' という名前は存在しません。
これをVisualStudio15Preview版で試してみると問題なくビルドが通ります。
結果は次のようになります。というか、そのままです。
1,2,3
余り2進数として値を見たいことは少ないかもしれませんが、
EnumにFlagsAttributeをつけて利用することはあるかもしれないです。
[FlagsAttribute]
public enum Sports
{
BaseBall = 0b0001,
FootBall = 0b0010,
Basketball = 0b0100,
}
class Sample
{
static void Main()
{
var sports = Sports.BaseBall | Sports.Basketball;
Console.WriteLine("{0}", sports);
}
}
結果
BaseBall, Basketball,
無事に、Enum値がカンマ区切りで表示されました。めでたしめでたし。
0 件のコメント:
コメントを投稿