プログラム言語 C#

C#

C# 例外フィルター

C# 6.0 以降では、catchブロックに例外フィルター(when句)を追加することができるようになりました。 C#の例外フィルタは、特定の条件が満たされた場合にのみ例外をキャッチする強力なメカニズムを提供します。 これにより、例外を再ス...
C#

C# using

C#のusingティレクティブはおなじみですが、実は色々な使い方があります。 エイリアスの使いどころ、using staticなどの使い方
C#

C# リスト、配列の初期化

コレクション式で初期化 C#12以降、リストや配列がコレクション式で初期化できるようになりました。 int; // int配列の初期化 List<int> numbers = ; // intリストの初期化 スプレッド演算子(..)を使って...
C#

C# 文字列 切り出し

文字列 切り出しC#8、インデクサーの範囲指定、指定文字まで、指定文字から、
C#

タプル(tuple)

C# 7.0 から使用できるようになった値型のタプルです。 実体はSystem.ValueTupleです。C# 4から使えたSystem.Tupleがありましたが似て異なるものです。ここではSystem.ValueTupleについて扱います...
C#

C# 汎用ジェネリック・デリゲートの共変性と反変性

.NET Framework 3.5以降、デリゲートでも変性がサポートされています。つまりメソッドのパラメータや戻り値で派生型(共変)や基本型(反変)との互換性がサポートされます。ここではFunc 汎用デリゲートにおける共変性と Actio...
C#

C# 共変戻り値のオーバーライド

共変戻り値 (Covariant return types) C# 9.0(2019年4月リリース)から共変戻り値のオーバーライドができるようになりました。これはJavaではだいぶ昔(Java5 2004年9月リリース)から可能だったのです...
C#

C# ジェネリック インターフェイスの共変性と反変性

C#におけるジェネリック・インターフェイスの共変性(Covariance)と反変性(Contravariance)。
C#

[C#] null許容参照型

C# 8.0でnull許容参照型の説明