ブログ 2018/12/09 C# 8.0 switch 式 今日は switch 式の話。 ステートメントではなく、式。 var y = x switch { ... } みたいに書ける構文です。 C# 8.0 候補の中でも割と早い段階に実装されていて、 「the patterns and ranges preview」とかいってPreview 公開もされていました。 (後述するように、switch式は「patterns」のおまけです。) なのでてっきり、Visual Studio 2019 Preview でもまず真っ先に入ると思っていたん… 続きを読む 2018/12/08 C# 8.0 null許容参照型 今日も C# 8.0 の新機能の話。 C# 8.0 の中でおそらく一番の目玉機能扱いになると思われる null許容参照型の話です。 参照型でもそのままでは null を認めない 要は、参照型に対しても、単にTと書くとnullを認めない型になり、 null許容にしたければT?と書くようにするという機能です。 #nullable enable // string には null が来ない // null が来ないなら s.Length で OK static int… 続きを読む 2018/12/07 C# 8.0 Ranges 今日もC# 8.0の新機能の話で、今日のはすでに Visual Studio 2019 Preview 1に入っているやつです。 Ranges and Indicesと呼ばれていて、配列などに対して、 a[^i]で「後ろからi番目」とか、 a[i..j]で「i番目からj番目の範囲」とかを取り出せるようにする機能です。 正確にいうと、^iとかi..jとかの部分がC#の新機能で、 これらはそれぞれIndex型、Range型になります。 Index、Rangeを受け取るインデクサーやメソッ… 続きを読む 2018/12/06 C# 8.0 小さな修正 Visual Studio 2019 Preview 1 が出て、 さすがに C# 8.0 に入る機能・入らない機能がある程度見えてきたので、 今日からしばらくその辺りの紹介をしていこうかと。 とりあえず今日は、「1記事使うほどでもないような小さい奴」をまとめて紹介。 文字列補完、$ と @ の順序緩和 ??= (null 合体代入)演算子 構造体の宣言時、refとpartialの順序緩和 分解の右辺に default 式 入れ子の{}内での stackalloc unma… 続きを読む 2018/12/05 Visual Studio 2019 Preview 1 Connect やってましたね。 とりあえず、関連ブログ: Making every developer more productive with Visual Studio 2019 Visual Studio 2019 Preview Announcing .NET Core 2.2 .NET Core 2.2 downloads Announcing .NET Core 3 Preview 1 and Open Sourcing Window… 続きを読む 新しい投稿へ 過去の投稿へ
2018/12/09 C# 8.0 switch 式 今日は switch 式の話。 ステートメントではなく、式。 var y = x switch { ... } みたいに書ける構文です。 C# 8.0 候補の中でも割と早い段階に実装されていて、 「the patterns and ranges preview」とかいってPreview 公開もされていました。 (後述するように、switch式は「patterns」のおまけです。) なのでてっきり、Visual Studio 2019 Preview でもまず真っ先に入ると思っていたん… 続きを読む
2018/12/08 C# 8.0 null許容参照型 今日も C# 8.0 の新機能の話。 C# 8.0 の中でおそらく一番の目玉機能扱いになると思われる null許容参照型の話です。 参照型でもそのままでは null を認めない 要は、参照型に対しても、単にTと書くとnullを認めない型になり、 null許容にしたければT?と書くようにするという機能です。 #nullable enable // string には null が来ない // null が来ないなら s.Length で OK static int… 続きを読む
2018/12/07 C# 8.0 Ranges 今日もC# 8.0の新機能の話で、今日のはすでに Visual Studio 2019 Preview 1に入っているやつです。 Ranges and Indicesと呼ばれていて、配列などに対して、 a[^i]で「後ろからi番目」とか、 a[i..j]で「i番目からj番目の範囲」とかを取り出せるようにする機能です。 正確にいうと、^iとかi..jとかの部分がC#の新機能で、 これらはそれぞれIndex型、Range型になります。 Index、Rangeを受け取るインデクサーやメソッ… 続きを読む
2018/12/06 C# 8.0 小さな修正 Visual Studio 2019 Preview 1 が出て、 さすがに C# 8.0 に入る機能・入らない機能がある程度見えてきたので、 今日からしばらくその辺りの紹介をしていこうかと。 とりあえず今日は、「1記事使うほどでもないような小さい奴」をまとめて紹介。 文字列補完、$ と @ の順序緩和 ??= (null 合体代入)演算子 構造体の宣言時、refとpartialの順序緩和 分解の右辺に default 式 入れ子の{}内での stackalloc unma… 続きを読む
2018/12/05 Visual Studio 2019 Preview 1 Connect やってましたね。 とりあえず、関連ブログ: Making every developer more productive with Visual Studio 2019 Visual Studio 2019 Preview Announcing .NET Core 2.2 .NET Core 2.2 downloads Announcing .NET Core 3 Preview 1 and Open Sourcing Window… 続きを読む