のキーワードの推測でタイプを使用するベストプラクティス
var
C#3.0は、キーワードを導入して、タイプが変数のタイプを推測できるようにし、コードを簡素化し、読みやすさを改善しました。ただし、を過度に使用すると、タイプの安全性の問題が発生する可能性があります。
var
不適切な使用var
var
次の状況では、var
を使用すると、タイプのセキュリティに影響を与えることなくコードの読みやすさを向上させることができます。
<code class="language-csharp">foreach (var item in someList) { // 'item' 的类型不明确 // ... } var something = someObject.SomeProperty; // 'something' 的类型不明确 var something = someMethod(); // 'something' 的类型不明确</code>
var
linqクエリでの
var
<code class="language-csharp">var l = new List<string>(); // `l` 的类型一目了然 var s = new SomeClass(); // `s` 的类型一目了然</code>のタイプを推測できますが、そのタイプ情報は、直接宣言変数タイプと比較して直感的ではありません。
オブジェクトへのlinq inlqおよびvar
linqでより慎重にオブジェクトを使用する:var
<code class="language-csharp">var results = from r in dataContext.SomeTable select r; // `results` 的具体类型并非完全清晰</code>これはに似ており、セキュリティの種類の隠された危険があります。重い負荷方法を呼び出すと、マッチングタイプのタイプのタイプを簡単に渡すことができ、ランタイムエラーが発生します。
results
var
は強力なタイプのC#を維持していますが、非表示のタイプ情報は問題を引き起こす可能性があります。特にメソッドが過負荷になっている場合、コンパイラはコンパイル中に一致しないタイプを検出できない場合があります。
var
<code class="language-csharp">var results = from item in someList where item != 3 select item;</code>の使用を避ける必要があります。 LINQクエリとオブジェクトへのLINQの場合、読みやすさとタイプのセキュリティを計量することの重要性を計量する必要があります。プログラムの堅牢性とメンテナンスを維持しながら、コードをより明確かつ簡潔にします。
以上がC#のタイプ推論のために「var」を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。