Linq To List 集合查询
2014-03-03 20:20
357 查看
//Linq对集合的各种查询
public static void Run()
{
List<Customers> customerlist = new List<Customers>();
customerlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
customerlist.Add(new Customers() { id = 4, Name = "Qiao", Custom = "Apple" });
customerlist.Add(new Customers() { id = 5, Name = "Adb", Custom = "Adobe" });
//简单的查询
var customerQuery = from query in customerlist
select query;
//带where筛选
var customerWhereQuery = from query in customerlist
where query.id == 1 && query.Name == "Lus"
select query;
//排序Ordering
var customerOrderingQuery = from query in customerlist
where query.Name == "Lus"
orderby query.id ascending
select query;
//分组Group by
var customerGroupbyQuery = from query in customerlist
group query by query.Name;
//可以使用into进一步查询
var customerGroupbyIntoQuery = from query in customerlist
group query by query.Name into queryGroup
where queryGroup.Key == "Qiao"
select queryGroup;
//联接查询 join 子句始终针对对象集合而非直接针对数据库表运行。
List<Customers> customerJoinlist = new List<Customers>();
customerJoinlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerJoinlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerJoinlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
var customerJoinQuery = from query1 in customerlist
join query2 in customerJoinlist
on query1.id equals query2.id
select new { CustomerName = query1.Name, CustomerName2 = query2.Name };
//数据源的类型参数始终为查询中的范围变量的类型。
//比如List<Customers> 类型为Customers 在循环迭代的时候类型必须可以隐式转换为Customer 有一种情况是
//这种情况下Customers类型转换为了String ..在select query.Name已经将查询目标类型定位了String类型
var customerTypeQuery = from query in customerlist
where query.Name == "Lus"
select query.Name;
//结合Lamdba对List集合筛选(s => s.Name == "Qiao")
List<Customers> listString = customerlist.Where(s => s.Name == "Qiao").ToList();
}
}
public class Customers
{
public int id { get; set; }
public string Name { get; set; }
public string Custom { get; set; }
}
public static void Run()
{
List<Customers> customerlist = new List<Customers>();
customerlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
customerlist.Add(new Customers() { id = 4, Name = "Qiao", Custom = "Apple" });
customerlist.Add(new Customers() { id = 5, Name = "Adb", Custom = "Adobe" });
//简单的查询
var customerQuery = from query in customerlist
select query;
//带where筛选
var customerWhereQuery = from query in customerlist
where query.id == 1 && query.Name == "Lus"
select query;
//排序Ordering
var customerOrderingQuery = from query in customerlist
where query.Name == "Lus"
orderby query.id ascending
select query;
//分组Group by
var customerGroupbyQuery = from query in customerlist
group query by query.Name;
//可以使用into进一步查询
var customerGroupbyIntoQuery = from query in customerlist
group query by query.Name into queryGroup
where queryGroup.Key == "Qiao"
select queryGroup;
//联接查询 join 子句始终针对对象集合而非直接针对数据库表运行。
List<Customers> customerJoinlist = new List<Customers>();
customerJoinlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
customerJoinlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
customerJoinlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
var customerJoinQuery = from query1 in customerlist
join query2 in customerJoinlist
on query1.id equals query2.id
select new { CustomerName = query1.Name, CustomerName2 = query2.Name };
//数据源的类型参数始终为查询中的范围变量的类型。
//比如List<Customers> 类型为Customers 在循环迭代的时候类型必须可以隐式转换为Customer 有一种情况是
//这种情况下Customers类型转换为了String ..在select query.Name已经将查询目标类型定位了String类型
var customerTypeQuery = from query in customerlist
where query.Name == "Lus"
select query.Name;
//结合Lamdba对List集合筛选(s => s.Name == "Qiao")
List<Customers> listString = customerlist.Where(s => s.Name == "Qiao").ToList();
}
}
public class Customers
{
public int id { get; set; }
public string Name { get; set; }
public string Custom { get; set; }
}
相关文章推荐
- List集合使用Linq进行in条件查询
- C#.Net:List<T>集合列表的Linq语句查询示例
- C#3.0(六)-Linq to object(3)查询方法操作集合
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(1.通过BCS创建External List)
- Linq与where实现查询(Linq to Entity)【IEnumerable与IEnumerator与IList】|自己实现foreach的功能
- LINQ学习笔记(9) LINQ to Objects---查询内存中对象的集合
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(2.复制External List内容)
- linq中查询列表的使用及iqueryable和list集合之间的转换
- 步步为营VS 2008 + .NET 3.5(7) - LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count、LongCount、Sum、Min、Max、Average、Aggregate、Cast、DefaultIfEmpty、SequenceEqual、OfType、ToArray、ToList、ToDictionary
- linq查询结果转换为指定字段类型的list集合
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(3.使用Linq to Sharepoint查询List内容)
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(3.使用Linq to Sharepoint查询List内容)
- Linq查询非泛型集合要指定Student类型(比如List)
- 7、步步为营VS 2008 + .NET 3.5(7) - LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Count、LongCount、Sum、Min、Max、Average、Aggregate、Cast、DefaultIfEmpty、SequenceEqual、OfType、ToArray、ToList、ToDictionary
- SPList--使用Linq to Sharepoint间接查询External List(3.使用Linq to Sharepoint查询List内容)
- LINQ to List泛型的几种简单查询
- LINQ to SQL 查询数据库和使用存储过程
- LINQ to SQL查询和SQL命令
- 使用Python读取TestTrack记录- Part3 动态生成Linq to xml查询语句筛选条件
- LINQ to Entities 查询语法