首页 新闻 搜索 专区 学院

问一个关于linq的问题

0
悬赏园豆:30 [已解决问题] 解决于 2020-04-08 17:09


用linq 点Count和Count() 都报错
应该是和linq的写法有关
这种写法返回的是Ienumerable
我尝试F12看count的源码,发现是sql框架的源码

之后我又尝试了用lambda的写法

就可以这样写
lambda写法返回的list<T>

这个count应该是list的count

大佬能否给解释一下
感谢

沉_默的主页 沉_默 | 初学一级 | 园豆:175
提问于:2020-04-07 20:24
< >
分享
最佳答案
0

用linq写法出来的FormatList2 类型是 IEnumerable<jcsj> 不是 IList 没有办法使用索引
用lambda写法出来的 FormatList2 , 因为你调用了ToList()方法, 类型是List, 可以直接使用索引

你这段代码看起来FormatList2没有什么用, 你可以直接使用LastOrDefault()方法获取最后一条合适的记录

收获园豆:30
拓拓 | 小虾三级 |园豆:590 | 2020-04-08 10:42

是这样的,之后我用last获取的最后一条,但是linq不能让他返回List吗

沉_默 | 园豆:175 (初学一级) | 2020-04-08 14:14

@沉_默:只用Linq的语法不能返回List, 你可以这样:

var formatList2 = (from time in list2
where time.TIME != "1900/1/1 0:00:00"
select time).ToList()

其实就是跟你用lambda方法完全一样

拓拓 | 园豆:590 (小虾三级) | 2020-04-08 15:06

@拓拓: 好的,谢谢,可以加个联系方式吗

沉_默 | 园豆:175 (初学一级) | 2020-04-08 17:08

@沉_默: qq 2550530639

拓拓 | 园豆:590 (小虾三级) | 2020-04-08 20:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册