嗨,我是很新的C#,
我想知道在聲明變量的最佳實踐。
我知道在聲明變量(隱式)時可以使用VAR(顯式聲明)或DataType。
我很感激你的意見感謝
嗨,我是很新的C#,
我想知道在聲明變量的最佳實踐。
我知道在聲明變量(隱式)時可以使用VAR(顯式聲明)或DataType。
我很感激你的意見感謝
我總是試圖給我的變量聲明,描述它們是什麼,駱駝套管有用的名稱,聲明在類的頂部。
大多數人會說使用var是最好的。它降低了未來維護的複雜性,例如,如果更改特定方法的返回類型,則不必去改變從該方法分配給每個變量的類型,因爲您已經使用var聲明變量。
這種類型的問題已經在stackoverflow上多次覆蓋了。例如見:Use of var keyword in C#
+1可維護性方面 – 2010-09-07 11:12:37
感謝您的意見! – GibboK 2010-09-07 11:45:47
這是相反的。這是一個明確的類型:
int x = 42;
這是一個隱式類型:
var x = 42;
當你有你應該使用隱式聲明(即當您使用匿名類型),或者當代碼變得更可讀。
例子:
// anonymous type
var y = new { item: "asdf" };
// avoid repeating long type names
var z = new System.Text.StringBuilder();
就個人而言,我很高興能使用var myVariable = new ReferenceType();
,因爲我知道我會得到的類型的變量,有指定類型再次重複。有時你需要具體聲明,例如:IComplexThing var = new ComplexThing();
爲了交換數組和集合,然後foreach(項目中的var項)是OK,因爲我再次知道我會得到什麼類型。
我通常嘗試使用MyType result = from x in queryable where x=>x.Id == id select x;
,因爲該類型在查詢之前是已知的,但對於像var result = from x in queryable where x=>x.Id == id select new { Id, Name, Description};
這樣的查詢,該類型在查詢時生成並且不知道。我試圖遠離那種類型的查詢。
C磅是真棒。 – Zoidberg 2010-09-07 10:33:19
確定重複。一個非常好的問題,雖然已經回答了一個問題。介意你,明確地輸入數據類型是明確的。 – 2010-09-07 10:35:53