日期:2014-05-20  浏览次数:20713 次

关于 Linq 的语句 ,
   GridView1.DataSource = db.Users.AsEnumerable().Where(u => { return u.Id > 1; }).OrderByDescending(u=>u.Id);
  GridView1.DataSource = db.Users.AsEnumerable().Where(u =>   u.Id > 1).OrderByDescending(u => u.Id);
这两条 查询出来的结果是一样的、 我想问一下  u => 后面的 { return u.Id > 1;   和  u.Id > 1  有什么区别?
linq

------解决方案--------------------
引用:
GridView1.DataSource = db.Users.AsEnumerable().Where(u => { return u.Id > 1; }).OrderByDescending(u=>u.Id);
  GridView1.DataSource = db.Users.AsEnumerable().Where(u =>   u.Id > 1).OrderByDescendin……


没区别呀,u.Id > 1 你就当他是一个函数就行了呀,反回的是bool值,所以下边那个多了return 就是脱裤子放屁一个道理
------解决方案--------------------
作用是一样的。
------解决方案--------------------
不过LinqToSql不支持CodeBlock的写法。只能用后者。
------解决方案--------------------
效果是一样的,没啥区别
------解决方案--------------------
都是匿名委拖
------解决方案--------------------
都是返回true或false
------解决方案--------------------
这样好像也可以  
 GridView1.DataSource = db.Users.AsEnumerable().FindAll(u => { return u.Id > 1; }).OrderByDescending(u=>u.Id);