将var初始化为null

P.B*_*key 6 c# linq

我已经看到如何将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 /追赶InvalidOperationFirst()时候不首先存在为贵.那么,我怎样才能解决范围问题呢?

小智 23

你可以试试这个:

var firstModel=(dynamic) null; 
Run Code Online (Sandbox Code Playgroud)


Bal*_*a R 7

你可以FirstOrDefault()改用.

firstModel = contextSelectResult.FirstOrDefault();

if(firstModel != null)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 6

简单地使用FirstOrDefault().整个过程FirstOrDefault是返回序列的第一个元素(如果存在),或者返回元素类型的默认值(即所有引用类型为null).

请注意,在您希望检查是否存在任何元素的其他情况下,使用Any()有时可能比Count() > 0- 更有效- 它取决于确切的上下文,但IMO是一种更简单的方式来表达您正在寻找的内容.