2009-07-30 7 views
10

重複の可能性:
What to use: var or object name type?
Use of var keyword in C#
What’s the point of the var keyword?
Should I always favour implictly typed local variables in C# 3.0?C#のvarキーワードの使用

は、私はちょうど私の会社のためにそれを評価するためのReSharperの試用版をインストールしました。私が気づいたことの一つは、それは私が(作っ例)以下を変更することが示唆されている。

var s = ""; 

string s = ""; 

はむしろオブジェクトを使用するよりもvarキーワードを使用することをお勧めします変数を宣言するときに入力しますか?どのような利点がありますか。コンテキストの場合、私は以前.NET開発者になっています。

+1

私はこれがあなたの質問に答えると思います: http://stackoverflow.com/questions/17032/should-i-always-favour-implictly-typed-local-variables-in-c-3-0 –

+2

重複:http://stackoverflow.com/questions/209199/ whats-the-point-of-the-var-keywordとhttp:// stackoverflowを使用します。com/questions/236878/what-to-use-var-or-object-name-type – Noldorin

+0

http://stackoverflow.com/questions/41479/use-of-var-keyword-in-c –

答えて

28

varを使用するとコードを読みやすくなります。私にとっては、varが置き換えられるタイプが完全に明白でなければならないことを意味します。

たとえば、これはvar(不自然な例)をうまく利用することになります。

var thing = new Dictionary<int, KeyValuePair<string, int>>(); 

しかし、これはvarの悪い使用、次のようになります。

var thing = GetThingFromDatabase(); 
12

私は型宣言は、例えば、非常に長いですいくつかのケースでは、それは参考:

Dictionary<int, string> item = new Dictionary<int, string>(); 

は、varキーワードを使用しているのでそれは同じことになる

var item = new Dictionary<int, string>(); 
8

なり変数は暗黙的に型付けされ、コンパイラは構築時にその型を推定します。ほとんどの場合、varを使用するのではなくタイプを指定する方が好きなので、私はresharper設定を変更します。

+1

-1:質問者はそれを知っていて、どちらが落ちるかを決める基礎を知りたがっています。 –

+0

私の答えは役に立たず、ダウンボートに値するとは思えません。 – Charlie

+0

他の人も同じような意見を持っているようです(あるいは、私の「不快感」に対抗しようとしているのですか?私は0時に滞在し、潜在的にそれが実際に何か洞察力のある答えを得るために時間がかかることはありません限り、世界の終わりではない多くのものを追加する答えは信じていると信じています。理由はhttp://stackoverflow.com/questions/1205329/c-var-keyword-usage/1205396#1205396には+1と他のものも含まれています –

1

私が覚えているように、Resharperはちょうどそれがこのように書くことができると言います。あなたがすべきことは言わない。

多くの提案は、私が最初に見たときのものです。それはそのうちの1つです。

もう1つは、「this.someProperty」と書くのは冗長だと言われていましたが、これを行うとコードが読みやすくなります。

0

Resharperには、if文をtrueまたはnot trueに変換する提案もあります。 ほとんど同じことですが、コーディングのスタイルによって異なります。 varをもっと快適に使うことがわかったら、この提案を使用してください。

関連する問題