我在网上阅读(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