我有以下表达式,其中a.AnswerId
属于类型long?
。 ReSharper 警告可能出现InvalidOperationException
在选择功能中。有没有这种情况真的可能发生的情况? (极端情况也很好)
long[] ids = answers.Where(a => a.AnswerId.HasValue)
.Select(a => a.AnswerId.Value)
.ToArray();
自从您签入以来Where
that a.AnswerId
有一个值,a.AnswerId.Value
永远不会抛出一个InvalidOperationException
(除非另一个线程同时更改数据)。 Resharper 具有相当不错的代码分析功能,但它无法发现所有内容,并且在这种情况下它没有意识到Where
确保通话安全.Value
in the Select
,因此发出警告。因此您可以安全地忽略此警告。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)