首页 > 代码库 > Linq编译带来的诡异错误
Linq编译带来的诡异错误
今天遇到一个很诡异的问题,初步猜测是Linq编译以及编译器自动优化带来的原因,对IL不是很熟悉,所以懒得去追了。
贴个代码出来,希望能抛砖引玉,得到正解。
注意到我用原始的foreach语句代替了linq查询。若是用linq,则在运行var arg = JsonConvert.DeserializeObject<LoadHallArg>(requestInfo.Body);这句时就报空引用错误。
var arg = JsonConvert.DeserializeObject<LoadHallArg>(requestInfo.Body);
//var hall = TestDataCenter.Halls.FirstOrDefault(o => o.HallId == others.HallId);
Hall hall = null;
foreach (var hl in TestDataCenter.Halls)
{
if (hl.HallId == arg.HallId)
{
hall = hl;
break;
}
}
Linq编译带来的诡异错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。