我在网上(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
会更好,但是在这种情况下,它也不会起作用。那么如何避免这种东西呢?
最佳答案
您看错了他的文章。在他的文章中,他专门讨论了有关类的变量的初始化。在您提出的情况下,应先初始化变量,然后才能使用它们,因为它们将立即使用。
编辑:是的,在这种特定情况下,int
变量不需要初始化,因为编译器会自动将int
初始化为0,但是如果使用string
或DateTime
将其取为不同程度,在方法的上下文中,初始化变得很重要。
关于c# - 如何避免这些变量的初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453206/