プログラム言語 C#

カテゴリーの本文に利用する文章の容易です。

C#

C# アクセサ get/set の進化とその使い方

初期 C# のアクセサは、 Java のそれをほんの少し改良したところから開始しました。というか、そもそもC#という言語は Java のライセンスをめぐる問題などを経てマイクロソフトが自社開発を決断した言語です。パラダイムとしては全くJav...
C#

C# init と required

C# 9.0 で導入された アクセサー init は、特定のプロパティについて、オブジェクトの初期化時にだけ設定可能にすることで、初期化後の変更をできないようにするものです。つまり、そのプロパティが実質的にイミュータブル(不変)であることを...
C#

C# byte[] と string の相互変換

バイト配列 byte[] と文字列 string の相互の変換方法を説明します。
C#

C# MemoryStream

MemoryStream はメモリ上のバッファを読み書きできる入出力ストリームの実装です。ファイルやネットワークを介さず、シリアライズ/デシリアライズや一時データの操作に適しています。内部的にはバイト配列を保持し、Position/Leng...
C#

C# typeof演算子

typeof演算子を使った、型の厳密な比較とリフレクション。
C#

C# 今どきのjson(シリアライズ、デシリアライズ)

System.Text.Jsonを使った、Jsonのシリアライズ、デシリアライズの色々な方法
C#

C# 定数constとreadonlyの違いと使い分け

C#のconst(定数)とreadonlyは、どちらも定数的に扱われますが、実は結構な違いがあります。ここではその違いと使い分けを整理してみます。
C#

C# リストから要素を削除

Remove, RemoveAt リストから単純に要素を削除するには、Remove( )やRemoveAt()を使います。 C#List<int> numbers = new List<int>(); numbers.AddRange(En...
C#

C# の Deconstruct

Deconstruct は、C# 7.0 で導入された「分解代入(deconstruction)」を実現するパターンです。特定のシグネチャを持つ Deconstruct メソッドを型に定義(または組み込み)することで、以下のコードのようにオ...
C#

C# switch式でのパターンマッチング

C# 8.0 以降、switch式でパターンマッチングを利用できるようになりました。 定数パターン リテラルや const 変数にマッチします。 C#x switch { 0 => "ゼロ", 1 => "イチ", _ => "それ以外" ...