c# - 在 if/else 语句中定义变量时,是否可以使用 var?
问题描述
我尽可能使用 var ,因为不必显式定义变量更容易。
但是当在if或switch语句中定义变量时,我必须明确定义它。
string message;
//var message; <--- gives error
if (error)
{
message = "there was an error";
}
else
{
message = "no error";
}
Console.WriteLine(message);
有没有办法使用var即使变量是在 if 或 switch 构造中定义的?
解决方案
不,您可以在这种情况下使用条件,但是:
var message = error ? "there was an error" : "no error";
但除此之外:没有。您需要指定类型,或使用初始显式值。我建议不要使用后者,因为它删除了明确的分配检查。
推荐阅读
- c++ - 如何在相机位置居中定向光深度图?
- swift - KVO 的 Swift 适配可以处理自定义目标吗?
- python - 如何在 2020 年修复 Python/Windows 的 DLIB?
- python - Beautifulsoup,找到htm中唯一没有属性的标签
- python - 在 python 中单击按钮使用 Selenium 没有 Id 或使用 XPath
- automated-tests - ClientFunction: _axios2 未定义
- powershell - 用于获取一个 AD 组的所有成员用户的完整 AD 组成员身份的 PowerShell 脚本
- javascript - document.cookie 和 Chrome 的 SameSite/Secure 限制
- python - 有什么方法可以修复python中导入时的语法错误?
- mysql - Spring Boot + MySQL + Docker Compose - Cannot make Spring Boot connect to MySQL