c# - 如何避免这些变量的初始化?

标签 c# .net 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;
}


好的,也许是胡说八道:-)但是问题是:我可以避免初始化吗?也许它对于mod来说是不可能的,因为mod从一开始就必须为2,并且它将保持为2。但是开始和输出如何?我只是不能写int start,因为那总是Error Use of unassigned local variable。也许int start = null会更好,但是在这种情况下,它也不会起作用。那么如何避免这种东西呢?

最佳答案

您看错了他的文章。在他的文章中,他专门讨论了有关类的变量的初始化。在您提出的情况下,应先初始化变量,然后才能使用它们,因为它们将立即使用。

编辑:是的,在这种特定情况下,int变量不需要初始化,因为编译器会自动将int初始化为0,但是如果使用stringDateTime将其取为不同程度,在方法的上下文中,初始化变得很重要。

关于c# - 如何避免这些变量的初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453206/

相关文章:

c# - 如何访问嵌套类的私有(private)成员?

c# - 使用 linq 列表中前 3 项的平均值

.net - 是否有免费、高性能、可查询 SQL 的 .NET 内存 RDBMS?

c# - AES 加密和 C#

c# - 在单个项目中使用多个平台

javascript - 访问事件中设置的变量

Javascript:使用对象作为函数?

c# - 解析字符串 C#

php - extract() 如何在当前范围内创建变量?

c# - 当工作人员无法检查终止字符串时如何终止线程