myVariable.ToList()
「To」プレフィックス( )、「As」プレフィックス(myVariable.AsEnumerable()
)、または「Get」プレフィックス( )をいつ使用するかを規定する命名規則の規則/ガイドラインを知っている人はいますmyVariable.GetHashCode()
か?
6 に答える
慣例はないと思いますので、自分がしていることに最も適したものを使用してください。
- 「To」は何か新しいものを作成/変換します
- 「As」は、使用することによる同じfeの単なる「異なるビュー」です。
iterators
- 「Get」は他のすべてのゲッターです
私の理解/慣習:
「To」は変換を実行します。ソースに固有のデータに基づいて、新しいオブジェクトがメモリ内に作成されます。
「As」はキャストを実行します。渡された同じ参照は、異なるタイプの「マスク」の後ろに返されます。
「Get」は、ソースを取り込み、その主要な製品が変換された結果である他のほとんどすべてを実行します。Getsは、計算の実行、子の返し、ストアからのデータの取得、デフォルト状態からのオブジェクトのインスタンス化などを実行できます。このようなメソッドのすべてに「Get」という名前を付ける必要はありませんが、ほとんどのメソッドは、計算、インスタンス化、プロジェクトなどを目的としています。変換してから、製品を返品します。主な目的は「ゲッター」です。
myObj
に関連しない場合はList
、接頭辞「To」を付けて変換します。myObj
がのサブクラスである場合Enumerable
、接頭辞「As」を付けてEnumerableとして指定します- と
myObj
は関係ありませんが、 「Get」プレフィックスを使用List
して作成/作成できますList
To
vsはvsAs
のような違いともっと関係があると思いますclass
interface
つまり、AsEnumerable
インターフェイスを実装するものを本当に返したいときを言っています。
ToList
反対に、現在のオブジェクトの現在の状態を表す新しいオブジェクトを返します。つまり、ToDictionary
同じデータを表す別の方法です。
3番目のGet
メソッドは、オブジェクトのいくつかのプロパティ、または完全な状態ではなく、その状態の一部に関する何かを返します。
データベースでのCRUD操作にEntityFrameworkを使用している場合、実際にレコードにアクセスしようとするまで遅延実行を使用するAsEnumerable()を使用するのとは対照的に、.ToList()を使用するとクエリがその場で実行されます。
それは私が頭のてっぺんから思いついたものです。
As
既存のデータの再解釈です。AsEnumerable
何もしません。として実装されreturn input;
ます。
To
変換を意味します。
Get
前者のいずれかを意味するものではありません。
これらのルールからの有効な逸脱が見つかります。彼らは石に設定されていません。