mir*_*iri 1 .net c# variables initialization
我正在网上阅读(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;
}
Run Code Online (Sandbox Code Playgroud)
好吧,这可能是废话:-)但问题是:我可以避免初始化吗?也许它不可能用于mod,因为mod从一开始就必须是2并且它将保持2.但是如何开始和输出?我只是不能写,int start因为那总是Error Use of unassigned local variable.也许int start = null会更好,但在这种情况下它也不会起作用.那么如何避免这些东西呢?
你误读了他的文章.在他的文章中,他特别谈到了关于类的变量的初始化.在您提出的情况下,您的变量应该在可以使用之前进行初始化,因为它们会立即被使用.
编辑:是的,在这种特定情况下,int变量不需要初始化,因为编译器会自动将a初始化int为0,但如果使用a string或a 进行不同程度的DateTime初始化,则初始化在方法的上下文中变得很重要.