C#小白来提问3:这行代码啥意思

booirror 2015-09-22 11:31:25
bool[] sb;
sb.Where(x => x).Count();

请问:Where(x=>x)与 Where(x)有什么区别
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
booirror 2015-09-23
  • 打赏
  • 举报
回复
csdn是个好网站,感谢各位热心回答,人人有分,以后多赚的分,撒给大家,谢谢。
threenewbee 2015-09-23
  • 打赏
  • 举报
回复
Func<int,bool> x = a => a == 1; //注意a => a == 1和b => b == 1其实是一样的。因为a、b这里是参数
data.Where(x).Count();
这样也可以
threenewbee 2015-09-22
  • 打赏
  • 举报
回复
where(x),这里x必须是一个lambda表达式。 where(x => ...)这里的x是lambda表达式的参数
wjq 2015-09-22
  • 打赏
  • 举报
回复
Where的参数是一个表达式/返回bool值的单个参数的函数。 x=>x相当于: bool Foo(bool x) { return x; }
  • 打赏
  • 举报
回复
Where(x=>x) //正确
Where(x)//错误
这就是区别…… Where接受的参数时Func<T,bool>委托,不是bool参数,所以必须用前一种写法才正确

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧