首页 > 其他 > 详细

Linq查询

时间:2015-10-25 17:39:36      阅读:230      评论:0      收藏:0      [点我收藏+]
//Linq查询
List<A1> a1 = new List<A1>();
a1.Add(new A1 { Id = 10, Name = "aaa", Age = 101, Gender = true });
a1.Add(new A1 { Id = 15, Name = "bbb", Age = 21, Gender = true });
a1.Add(new A1 { Id = 12, Name = "ccc", Age = 21, Gender = false });
a1.Add(new A1 { Id = 13, Name = "ddd", Age = 200, Gender = false });
List<DogToy> a2 = new List<DogToy>();
a2.Add(new DogToy { DogId = 11, DogName = "小白" });
a2.Add(new DogToy { DogId = 10, DogName = "小欢" });
a2.Add(new DogToy { DogId = 12, DogName = "小美" });
a2.Add(new DogToy { DogId = 15, DogName = "小王" });

//查询所有语句
var s1 = (from c in a1 select c).ToList();
//查询Gender为false的成员
var s2 = from c in a1 where c.Gender == false select c;
//orderby排序
var s3 = from c in a1 orderby c.Id select c;
//Join连接两个集合相匹配元素,注意:连接条件使用equals关键字!!!
var s4 = from c in a1 join t in a2 on c.Id equals t.DogId select new { A1Name = c.Name, DogName = t.DogName };
//Join连接两个集合所有元素
var s5 = from c in a1 join t in a2 on c.Id equals t.DogId select new { A1Name = c, DogName = t };
//分组group...by
var s6 = from c in a1 group c by c.Gender;
foreach (var group in s6)
{
    Console.WriteLine(group.Key.ToString());
    foreach (var item in group)
    {
        Console.WriteLine(item.ToString());
    }
}

public class A1
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public bool Gender { get; set; }
    //重写ToString方法
    public override string ToString()
    {
        return Id + "," + Name + "," + Age + "," + Gender;
    }
}

public class DogToy
{
    public int DogId { get; set; }
    public string DogName { get; set; }
    //重写ToString方法
    public override string ToString()
    {
        return DogId + "," + DogName;
    }
}

 

Linq查询

原文:http://www.cnblogs.com/genesis/p/4908995.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!