首页 新闻 赞助 找找看

Linq问题

0
悬赏园豆:5 [已关闭问题]

string[] codes = new string[]{"2008","2009","2010"};

string ret = codes.FirstOrDefault<string>(item => item.CompareTo("2009") > 0);

为什么执行这段代码会报异常:Expression cannot contain lambda expressions

而改为:

string ret = (from c in codes where item.CompareTo("2009") > 0 select c ).FirstOrDefault();就可以执行了呢?

植辉的主页 植辉 | 初学一级 | 园豆:39
提问于:2010-01-20 12:36
< >
分享
其他回答(3)
0

不知为什么,你这上面的代码我可以运行.没出问题.

不过你这二句虽然执行效果一样.但是并不同一意思吧.codes.where(p => item.compareTo()>0).FirstOrDefault():

天天不在 | 园豆:926 (小虾三级) | 2010-01-20 14:03
0

我这里运行正常

Everlonely | 园豆:115 (初学一级) | 2010-01-20 18:39
0

扩展方法+Lambda表达式 >= LINQ

【当耐特】 | 园豆:645 (小虾三级) | 2010-01-21 12:40
0

你是想做什么啊

redstarter | 园豆:205 (菜鸟二级) | 2010-01-22 09:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册