首页 > 解决方案 > 在 if/else 语句中定义变量时,是否可以使用 var?

问题描述

我尽可能使用 var ,因为不必显式定义变量更容易。

但是当在ifswitch语句中定义变量时,我必须明确定义它。

string message;
//var message; <--- gives error
if (error)
{
    message = "there was an error";
}
else
{
    message = "no error";
}

Console.WriteLine(message);

有没有办法使用var即使变量是在 if 或 switch 构造中定义的?

标签: c#

解决方案


不,您可以在这种情况下使用条件,但是:

var message = error ? "there was an error" : "no error";

但除此之外:没有。您需要指定类型,或使用初始显式值。我建议不要使用后者,因为它删除了明确的分配检查。


推荐阅读