我想给一个变量赋值为null的初始值,并在接下来的分配其价值if- else块,但编译器给了一个错误,
必须初始化隐式类型的局部变量.
我怎么能实现这个目标?
每当我可以使用var,因为更容易不必明确定义变量.
但是当在if或switch语句中定义变量时,我必须明确定义它.
string message;
//var message; <--- gives error
if (error)
{
message = "there was an error";
}
else
{
message = "no error";
}
Console.WriteLine(message);
Run Code Online (Sandbox Code Playgroud)
即使变量是在if或switch构造中定义的,有没有办法使用var?
我已经看到如何将var初始化为null. 这对我的情况没有帮助.我有
string nuller = null;
var firstModel = nuller;
if(contextSelectResult.Count() > 0)
firstModel = contextSelectResult.First();
Run Code Online (Sandbox Code Playgroud)
我收到错误
无法将类型'SomeNamespace.Model.tableName'隐式转换为'string'.
我试图避免的try /追赶InvalidOperation的First()时候不首先存在为贵.那么,我怎样才能解决范围问题呢?
为什么只能在C#中的单个语句中声明和初始化var?
我的意思是为什么我们不能使用:
var x;
x = 100;
Run Code Online (Sandbox Code Playgroud)
由于它是一个隐式类型局部变量"var",并且编译器采用了变量赋值运算符右侧的类型,为什么它只应在单个语句中声明和初始化呢?
如果我们想要的值为null,C#中有一种方法可以在var中分配一个默认值吗?
例如:var =某事或"默认值"
我正在寻找比var = something更简单的方法!= null?东西:"默认值"