我在網上閱讀(http://www.codinghorror.com/blog/2005/07/for-best-results-dont-initialize-variables.html),我們不應該初始化變量。如何避免這些變量的初始化?
不知何故,我不明白它。我經常無法避免這種情況。讓我們看一個簡單的例子:
public int test(string s)
{
int start = 0;
int mod = 2;
int output = 0;
foreach (int i in s)
{
output = output + (i % mod) + start;
start++;
}
return output;
}
確定它可能是廢話:-)但問題是:我可以避免初始化嗎?也許它不可能爲mod,因爲mod從一開始就必須是2並且它會留2.但開始和輸出如何?我不能寫int start
,因爲那總是Error Use of unassigned local variable
。也許int start = null
會更好,但在這種情況下,它不會工作。那麼如何避免這些東西?
foreach(int我在s中)可能不會編譯? – Anton 2012-07-12 13:47:14
不要打擾。這篇文章歸結爲極端的微觀優化,並且提議幾乎沒有影響。你必須編寫更多的代碼來檢查一個未初始化的'output',並且如果爲true則賦值。對於價值類型來說,這是一個100%不存在的問題。 – 2012-07-12 13:48:00
int的默認值爲0。 – albertjan 2012-07-12 13:48:39