1

.net v2 用に最初に作成されたプロジェクトで、Resharper の StyleCop を使用しています。しかし、それ以来、このプロジェクトを 3.5 フレームワーク用にアップグレードしました。

Stylecop は、明示的に型指定された変数の大部分を暗黙的に型指定されたものに変更することを推奨しています。例:

文字列 - 変数

カスタムの厳密な型 - var

これは、.net 3.5 プロジェクトで作業する場合の進め方ですか。すべてを var として宣言するのは珍しいようです。

私の用語が出てきた場合は、質問のタイトルを自由に更新してください...

4

5 に答える 5

3

多くの場所で議論されてきましたが、それは好みの問題です。次の 2 行のコードを比較します。

StringBuilder stringBuilder = new StringBuilder();
var stringBuilder = new StringBuilder();

どっちがいい?

于 2009-12-11T14:15:19.403 に答える
3

これらはジェネリックではなく、暗黙的に型指定された変数です。これは本当に好みの問題です。過度に使用できる場所varと、非常に明らかに必要な場所 (匿名型を考えてください) があるため、自分 (およびチーム) の好みに合った中間の場所を見つけてください。

于 2009-12-11T14:15:43.163 に答える
3

これを見てください

var (C# リファレンス)および

暗黙的に型指定されたローカル変数 (C# プログラミング ガイド)

暗黙的に型指定されたローカル変数は、自分で型を宣言したかのように厳密に型指定されますが、型はコンパイラによって決定されます。

C# での var キーワードの使用もご覧ください

C# の討論: いつ var を使用する必要がありますか?

于 2009-12-11T14:15:50.183 に答える
0

私はそれが提案であり、考慮されるべきであると信じていますが、必ずしも完全に実装されているわけではありません.

個人的には、var の最適な使用法は、宣言/戻り型が明らかな場合です。つまり、次のようになります。

var temp = "Test me now";

var temp = GetTestData();

また、より少ないコードでジェネリック型を宣言できることを本当に楽しんでいます。

    var test = new Dictionary<string,string>();

    Dictionary<string, string> test = new Dictionary<string,string>();
于 2009-12-11T14:16:12.337 に答える
0

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);
于 2009-12-11T14:17:25.797 に答える