Sequence contains no matching element
问题描述
InvalidOperationException: Sequence contains no matching element
问题原因
使用LinQ进行查询时使用到了First,当First没有找到满足条件的元素时,就会报“Sequence contains no matching element ”
var result = infos.First(_=> _.IsHint);
解决办法
将First换为FirstOrDefault
//var result = infos.First(_=> _.IsHint); //替换为 var result = infos.FirstOrDefault(_=> _.IsHint); //注意,此方法返回的结果是可以为空的,需要进行非空判断 if(result != null) { //YourFunction }