1. ホーム
  2. c#

[解決済み] C#のメソッドの命名規則。ToSomething vs. AsSomething

2023-06-17 22:36:55

疑問点

ビジネスロジック・オブジェクトの拡張メソッドを書いているうちに、変換メソッドの名前を変更する問題に行き着きました。 someObject.ToAnotherObject() は、広く使われている object.ToString() .

しかし、例えばLINQでは両方のバリアントが混在しており、両者の違いを見出すことができません。 ToDictionary() , ToList() , AsParallel() , AsQueryable() , ...

この2つの命名規則の違いは何ですか?また、自分のクラスに使用するかどうかを決めるために知っておくべきことは何ですか?

どのように解決するのですか?

ToDictionary そして ToList は接頭辞が To を付けるのは、必ずしも元のコレクションやそのプロパティの構造的な同一性が保たれるとは限らないからです。

  • を変換する List<T>Dictionary<K, V> は全く新しい構造を持つコレクションを作成します。
  • を変換する HashSet<T>List<T> は、セットの一意性の特性を削除します。

で始まるメソッドは As で始まるメソッドはこれらのことを一切行いません。 ビュー を提供するだけです。それはコレクションを豊かにするものです。