セージ の メモ書き

メモこそ命の恩人だ

C#-コレクション

C# - バイト配列の操作

概要 データ参照 ArraySegment 構造体 範囲指定のインデックス Skip・Take メソッド データ作成 概要 バイト配列を扱う例 ネットワークで受信したバイトデータ ファイルから読み込んだバイトデータ 周辺機器から読み込んだバイトデータ エンディアンも参照 C…

C# - IComparable インターフェース

IComparable インターフェース 実装例 IComparable インターフェイス未実装の場合 IComparable インターフェイス実装済の場合(単一の比較条件) IComparable インターフェイス実装済の場合(複数の比較条件) その他の IComparable インターフェースを使用…

C# - GetHashCode メソッド(Dictionary・HashSet 仕組み)

GetHashCode メソッド Dictionary・HashSet 仕組み 動作確認 追加処理 参照処理 削除処理 実験:ハッシュ値を0固定 GetHashCode メソッド Object.GetHashCode メソッド (System) | Microsoft Docs String.GetHashCode メソッド (System) | Microsoft Docs I…

C# - ToDictionary

ToDictionary List => Index 付の Dictionary に変換 既定値をセット ToDictionary https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.todictionary IEnumerable から Dictionary<TKey,TValue> を作成できる。 ToDictionary の引数に、Key と Value の</tkey,tvalue>…

Array.Copy メソッド してみる

Array.Copy メソッド オーバーロード1 オーバーロード2 Array.Copy メソッド Array.Copy メソッド (System) | Microsoft Docs 配列をコピーできる。 インデックス指定で部分コピーもできる。 以下の配列を使って試してみる。 var source = new char[] { 'a…

インデクサー してみる

インデクサー ( Indexer : 索引者 ) インデクサー ( Indexer : 索引者 ) インデクサー - C# プログラミング ガイド | Microsoft Docs クラスのインスタンスに角括弧 [ ] でアクセスできる。(配列と同様の使用感 ) this キーワードのプロパティを定義する。 …

yield キーワード してみる

yield キーワード ( yield : 生産、収益 ) yield return ステートメント yield break ステートメント yield キーワード ( yield : 生産、収益 ) コンテキスト キーワード yield - C# リファレンス | Microsoft Docs yield キーワードを使用した場合、メソッ…

IEnumerable インターフェース してみる

IEnumerable インターフェース 継承関係 定義 IEnumerable インターフェース IEnumerable<T> インターフェース ICollection<T> インターフェース IList<T> インターフェース List<T> クラス IEnumerable インターフェース https://docs.microsoft.co…

AddRange メソッドしてみる

AddRange メソッド AddRange メソッド と Add メソッド の処理速度 AddRange メソッド https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.list-1.addrange コレクションの末尾に指定したコレクションを追加する。 コレクションのマー…

ToArray と ToList してみる

ToArray メソッド List → 配列 ToList メソッド 配列 → List ToArray メソッド https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.toarray IEnumerable から配列を作成する。 List → 配列 リストを ToArray メソッドで配列にしてみる。 …

配列 してみる

配列 1 次元配列 多次元配列 ジャグ配列 ( Jagged : ギザギザ ) 配列 と List 共通点 相違点 配列 配列 - C# プログラミング ガイド | Microsoft Docs 同一型の複数オブジェクトを格納できるデータ構造。 1 次元配列 1 次元配列 - C# プログラミング ガイド …

スタック ( Stack ) してみる

Stack クラス Push メソッド Pop メソッド 複数スレッドからのアクセス プッシュ ポップ ConcurrentStack クラス プッシュ ポップ Stack クラス https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.stack-1 データの後入先出を行うコ…

キュー ( Queue ) してみる

Queue クラス Enqueue メソッド Dequeue メソッド 複数スレッドからのアクセス エンキュー デキュー ConcurrentQueue クラス エンキュー デキュー Queue クラス https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.queue-1 データの先…

Dictionary ( ディクショナリ )

Dictionary 要素の初期化 要素の取得 要素の追加・変更 要素の削除 Dictionary ( 複合主キー) 要素の初期化 要素の取得 要素の追加・変更 要素の削除 KeyValuePair 構造体 ( foreach 文による要素の取得 ) List クラスと Dictionary クラスの処理速度 検索キ…