2012-03-14 64 views
-4

可能重複:
Use of var keyword in C#哪一個更好?在變量類型聲明中使用var或使用像int這樣的真正類型,...?

哪一個更好?在變量類型聲明中使用var或使用像int這樣的真正類型,...? 爲什麼?

哪一個更好?

public class A 
{ 
    var v1 = 0; 
    var v2 = string.Empty; 
} 

public class B 
{ 
    int v1 = 0; 
    string v2 = string.Empty; 
} 
+2

請注意,帶有'var'的代碼甚至不會編譯(修復錯字後也不會編譯),所以這個問題不會在這裏出現。 – 2012-03-14 10:32:24

+1

和變量命名很爛 – Jodrell 2012-03-14 10:34:52

回答

2

正如gdoron所說,沒有正確或錯誤的答案,但爲了意見的利益,我會給我的。

我通常總是明確地使用類型,而不是var,因爲我覺得更容易理解什麼類型的東西。例如,對於其他人閱讀你的代碼,很清楚類型是什麼。

在你的例子中,它幾乎沒有引人注意,一個隨便的讀者可以很容易地看到什麼是一個字符串,什麼是一個int。然而,考慮:

var f = SomeFunction(); 

眼睛,目前還不清楚是什麼的f類型當即。

這就是說,var可以做這樣的事情的時候是有用的:

var userMap_ = new Dictionary<string, User>(); 

爲肯定節省一些打字,很明顯的類型是什麼。

+0

'var'降低了代碼中的噪音。就像收藏品一樣,我不在乎它是'List '還是'T []'或者'IEnumerable ' – gdoron 2012-03-14 10:38:20

1

哪一個更好?藍色襯衫或綠色襯衫?

你最喜歡的是什麼。這一個沒有正確的答案。

順便說一句:

  • 你拼寫錯誤class
  • 不能有var聲明的一流水平,只是在方法體...
1

然而,隨着@gdoron說,如果你只是有一個int和一個字符串,我想我會用真類型。

0

string的情況下var是少打字,所以有它更好。對於三種字母類型,我無動於衷,未定。

+1

我不會說根據你必須輸入多少個字母來決定是個好主意。不是一個好的編程練習 – 2012-03-14 10:35:19

+0

那麼,那麼'var'的目的是什麼?如果不是保存輸入並閱讀解析。 – Jodrell 2012-03-14 10:36:30

+0

檢查上面的重複。我沒有說這其中的一個原因是不保存打字。我所說的是,你不能根據案例來決定取決於你必須輸入多少個字母。只是因爲int是三個字母並不意味着你不應該使用var等等 – 2012-03-14 10:37:50

相關問題