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;
     }
}

时间: 2024-11-02 23:29:49

Linq编译带来的诡异错误的相关文章

编译php扩展出现错误:Cannot find config.m4

问题描述: [[email protected] ~]# /usr/local/php/bin/phpize Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module 原因:当前目录没在扩展的目录 解决办法:进入到安装的扩展的目录,比如cd /home/cqh/tar/phpredis,然后再执行/usr/loc

STM8S编译时内存溢出错误的解决办法

? 导致COSMIC报告"segment .ubsct overflow"错误的根本原因是内存溢出, 相关原因分析如下: ? 1.变量存储空间结构 ? STM8S105系列CPU的RAM地址范围为0~0x7FF的2K空间,其中默认将高512字节分配给堆栈,剩下0~0x5FF字节为变量存储空间 .在0~0x5FF的空间范围内,低256字节被定义为Zero page,其中包括.bsct,.ubsct,.bit,.share ? 可见, 当segment .ubsct overflow错误出

MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误

今天照着孙鑫老师的VC++教程学习文件的操作,VS2010,单文档应用程序,项目文件命名为File,也就有了自动生成的CFileDoc.CFileView等类,一进去就编译运行(就是最初自动生成的项目),编译通过,可运行时直接弹出错误框,有点小懵,,,啥都没做就给我看这个: 图一   错误提示框 后来搜索一查,网上好多类似的错误以及解决方案,几乎都试了个遍,有: 方法(1)-重新生成解决方案,或者将项目文件目录下Debug文件夹删了,重新生成Release版: 方法(2)-可以先声明一个临时的C

PHP编译安装时常见错误解决办法,php编译常见错误

PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution 解决方法: yum -y install libxslt-devel 2.configure: error: Could not find net-snmp-config binary. Please check your net-snmp installa

编译pure-ftpd时提示错误Your MySQL client libraries aren&#39;t properly installed

如果出现类似configure: error: Your MySQL client libraries aren’t properly installed 的错误,请将mysql目录下的 include/mysql下的mysql.h文件以及lib/mysql下的全部文件,连接(直接复制过去或许也可)到 /usr/lib 目录下(参考) cp /www/wdlinux/mysql-5.5.x/include/mysql/mysql.h /usr/lib/ cp /www/wdlinux/mysql

linux 编译安装php及编译安装mysql常见错误总结及解决办法

一.编译安装php常见错误总结及解决办法 错误 1checking for xml2-config path…configure: error: xml2-config not found. Please check your libxml2 installation.解决办法:# yum -y install libxml2-devel 错误 2 checking for BZip2 in default path… not foundconfigure: error: Please rein

PHP编译过程中常见错误信息的解决方法

PHP编译过程中常见错误信息的解决方 checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2-devel checking for cURL support- yes checking if we should use cURL for

55 gcc编译中出现“游离”错误

exam1204button.c:26:3: 错误: 程序中有游离的'\200' exam1204button.c:26:3: 错误: 程序中有游离的'\235' exam1204button.c:26:3: 错误: 程序中有游离的'\342' exam1204button.c:26:3: 错误: 程序中有游离的'\200' exam1204button.c:26:3: 错误: 程序中有游离的'\235' 类似的错误大多数都是由于中文输入法输入的字符和英文字符不同导致的,检查引号.括号.分号 5

LAMP系列之PHP编译过程中常见错误信息的解决方法

LAMP系列之PHP编译过程中常见错误信息的解决方法 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: ******************************************************************************* checking for BZip2 support- yes checking  for BZip2 in default path- not foun