c# - 哪个更好用,为什么在 C# 中

标签 c#

哪个更好用?

int xyz = 0;

int xyz= default(int);

最佳答案

int xyz = 0;

为什么要让人多想? default 对通用代码很有用,但在这里它不添加任何东西。您还应该考虑是否在正确的位置使用有意义的值对其进行初始化。有时您会看到,对于堆栈变量,代码如下:

int xyz = 0;

if(someCondition)
{
  // ...
  xyz = 1;
  // ...
}
else
{
  // ...
  xyz = 2;
  // ...
}

在这种情况下,你应该延迟初始化,直到你有真正的值(value)。做:

int xyz;

if(someCondition)
{
  // ...
  xyz = 1;
  // ...
}
else
{
  // ...
  xyz = 2;
  // ...
}

编译器确保您不使用未初始化的堆栈变量。在某些情况下,您必须使用无意义的值,因为编译器不知道代码永远不会执行(由于异常、调用 Exit 等)。这是规则的异常(exception)(无双关语意)。

关于c# - 哪个更好用,为什么在 C# 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201081/

相关文章:

c# - 主键生成方法

c# - 复制具有相似名称的文件

c# - 使用 jQuery 从 ASP.Net JSON 服务获取数据

c# - 如何更新 List<T> 元素集合中的特定元素?

c# - 电子邮件中的 Unicode 字符不会引发异常

c# - 为什么 Polly 不在我的单元测试中重试异常?

c# - 使用 linq to sql 不循环更新数据库中的多条记录,可能吗?

c# - 使用 Server.Transfer() 返回时出错

c# - Excel 公式和元数据

c# - MenuItem.IsEnabled 绑定(bind)到公共(public) bool 值