marin

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最近在linq的使用中一些常用函数记录(主要是lambda写法)

1. sql 中的in在LINQ中使用 Contains. not in 你就应该知道了

eg:

List list= new List(){"a","b"};

var a
= xcjls.Where(p => p.STATUS == "bbbb").Where(p => list.Contains(p.Name)).ToList();

 

2. linq select

eg:

var a = xcjls.Select(p => p.Name).ToList(); //返回Name 的List<string>

var a
= xcjls.Where(p =>p.STATUS == "bbbb").Select((s,i) => new {name=s.Name,job=s.job }); //(s,i)中s表示返回的实体,i是编号
//等价于
var a= xcjls.Where(p =>p.STATUS == "bbbb").Select(s=> new {name=s.Name,job=s.job }); 

 3.linq list Groupby 转Dictionary

eg:

List<T> list=.....;

Dictionary
<string,List<T>> dict = list.GroupBy(k =>T.X) // 按T实体的X属性进行分组
        .ToDictionary( // 构造字典
            g => g.Key, // 以每组的Key作为键
            g => g.ToList()); // 生成List<T>列表


 

posted on 2011-07-08 14:45  marin  阅读(323)  评论(0)    收藏  举报
五月营销软件