変数を暗黙に型付けされている前方の方法(C#の)
-
19-09-2019 - |
質問
私はもともと.NET v2のために書かれたプロジェクトにReSharperのためStyleCopを使用しています。しかし、私は以来、3.5フレームワークのために、このプロジェクトをアップグレードしました。
Stylecopは私が暗黙のうち例えば型付けする私の明示的に型指定された変数の大部分を変更推奨されます:
文字列 - VAR
カスタム強いタイプ - VAR
.NET 3.5のプロジェクトで作業する場合、これは、前方の方法です。これは、VARなど、すべてを宣言する珍しいようです。
...私の専門用語が出ている場合は、質問のタイトルを更新気軽に
解決
これらは、それらが暗黙に型付けされた変数であり、ジェネリックではありません。これは本当に味の大部分が問題です。あなたは var
するの使用を無理してあることができる場所があります。それは非常に明確に必要だ場所は、(匿名型を思う)ので、自分に合った真ん中の場所(とあなたのチームの)好みを見つけます。
他のヒント
は、多くの場所で議論され、それが味にダウンされて。次の2行のコードを比較します:
StringBuilder stringBuilder = new StringBuilder();
var stringBuilder = new StringBuilder();
あなたはどちらが好きですか?
このを見てください。
暗黙的に型指定されたローカル変数(C#プログラミングガイド)する
暗黙に型付けされたローカル変数です あなたが持っていたかのように、強く型付けされたばかり タイプ自分自身を宣言したが、 コンパイラが型を決定します。
またの使用を見ていますP>
私は提案のその多くを信じていると考えるべきであるが、必ずしも完全には実装されていません。
個人的な私は宣言する/返却型はすなわち、明らかであるとき、VARの最良の使用であると考えているが
var temp = "Test me now";
対
var temp = GetTestData();
また、私は本当に少ないコードでジェネリック型を宣言することができるという楽しみます:
var test = new Dictionary<string,string>();
対
Dictionary<string, string> test = new Dictionary<string,string>();
varが非常に重要です匿名型...
var cees = from c in Customers select new { c.Name, c.Birthdate };
ReSharperのは、VARにすべてを変更することをお勧めします。
のような明白な定義についてvar c = new Customer();
私はそれを使用したいです。 いくつかのAPI呼び出しのために、私は明示的にタイプを書き留めることがあります:
Customer c = repository.Get(1);