Effective C# 3rd 読書メモ 06 文字列による型情報の受け渡しを避ける

以下のように、nullチェック後にnullが渡された引数の名前を例外に渡したい場合がある。 public static void DoSomething(object thisCantBeNull) { if (this …

Effective C# 3rd 読書メモ 05 カルチャに応じた文字列にはFormattableStringを使う

FormattableStringは、C# 6.0で追加されたクラスである。 補間文字列を使用する際、デフォルトではstring(System名前空間)になるが、FormattableString(System名前空間) …

Effective C# 3rd 読書メモ 04 string.Format()ではなく補間文字列を使う

C#における文字列フォーマット C#には、一定書式に従った文字列を作成する方法が2つある。 string.Format()と、C# 6.0で導入された補間文字列(Interpolated Strings)である。 str …

Effective C# 3rd 読書メモ 03 キャストにはis/asを使う

C#におけるキャスト C#には、強制的にキャストを行う方法と、as演算子を使ってキャストを行う方法とがある。 強制的なキャストは、キャスト失敗時にInvalidCastExceptionが発生する。 そのため、キャストを …

Effective C# 3rd 読書メモ 02 constよりもreadonlyを使う

C#における定数 C#には、コンパイル時定数(const)と、実行時定数(readonly)の2種類がある。 コンパイル時定数の方が高速だが、プリミティブな型(整数、浮動小数点数、enum、文字列)しか使えない。 パフォ …