首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

空引用异常

2012-01-26 
空引用错误我在使用linq的时候单步调试每次都在第一句报错string strStart year + - + nStart + -01

空引用错误
我在使用linq的时候
单步调试
每次都在第一句报错
string strStart = year + "-" + nStart + "-01 00:00:00";
var myfundOpenQ = lctxDAL.TB_Product_MyFund_Open.Where(o => o.MyFundID == fundasset.myfundasset.MyFundID).Where(o => o.BuyTime.CompareTo(strStart) < 0).Where(o => o.scbz == "1").Where(o => o.dingtou == "0").ToList();

说是空引用NullReferenceException
这是为什么?

[解决办法]
设置个断点,看看var myfundOpenQ = lctxDAL.TB_Product_MyFund_Open.Where(o => o.MyFundID == fundasset.myfundasset.MyFundID).Where(o => o.BuyTime.CompareTo(strStart) < 0).Where(o => o.scbz == "1").Where(o => o.dingtou == "0").ToList(); 
这句里是不是有null值。
[解决办法]
lctxDAL未实例化??
[解决办法]
string strStart = year + "-" + nStart + "-01 00:00:00"; 
这个有错?

[解决办法]
根据我的经验,很可能
var myfundOpenQ = lctxDAL.TB_Product_MyFund_Open.Where(o => o.MyFundID == fundasset.myfundasset.MyFundID).Where(o => o.BuyTime.CompareTo(strStart) < 0).Where(o => o.scbz == "1").Where(o => o.dingtou == "0").ToList(); 

是你的字段为空,比如BuyTime为空?scbz为空?dingtou为空?

因为我也碰到过类似问题。

热点排行