【发布时间】:2018-03-30 11:30:07
【问题描述】:
我有这个问题:
int cid = (from c in dc.Cs
where c.id == cid
select c.clientid).FirstOrDefault();
return cid;
其中 c.clientid 可以为空。但我收到此错误:
不能隐式转换类型“int?”到'int'。存在显式转换(您是否缺少演员表?)
【问题讨论】:
-
如果
c.clientid在第一个匹配项中是null,或者没有匹配项,您期望cid的值是多少? -
... .FirstOrDefault().Value; -
@alxem 不,它只是将编译器错误变成了运行时错误,并没有真正解决问题。
-
如果您明确应该使用
Nullable<int>,为什么首先要使用int?