Linq扩展函数浅谈

开发 后端
这里介绍Linq扩展函数,为了使用这些Enumerable扩展函数,一般把LINQ查询表达式用括号括起来,先转换为IEnumerable<T>兼容的对象。

XX有很多值得学习的地方,这里我们主要介绍Linq扩展函数,包括介绍Linq扩展函数Enumerable获取Counts等方面。

本文首先介绍Linq扩展函数(泛型函数)的方式提供的函数:
◆用不同方式产生结果集: Reverse<>(), ToArray<>(), ToList<>()
◆集合操作: Distinct<>(), Union<>(), Intersect<>()
◆统计函数: Count<>(), Sum<>(), Min<>(), Max<>()

Linq扩展函数Enumerable获取Counts

为了使用这些Enumerable扩展函数,一般把LINQ查询表达式用括号括起来,先转换为IEnumerable<T>兼容的对象。

  1. static void GetCount()  
  2. {  
  3. string[] currentVideoGames = {"Morrowind", "BioShock",  
  4. "Half Life 2: Episode 1", "The Darkness",  
  5. "Daxter", "System Shock 2"};  
  6. // Get count from the query.  
  7. int numb = (from g in currentVideoGames  
  8. where g.Length > 6  
  9. orderby g  
  10. select g).Count<string>();  
  11. // numb is the value 5.  
  12. Console.WriteLine("{0} items honor the LINQ query.", numb);  

定义演示的实例

  1. class Car  
  2. {  
  3. public string PetName = string.Empty;  
  4. public string Color = string.Empty;  
  5. public int Speed;  
  6. public string Make = string.Empty;  
  7. public override string ToString()  
  8. {  
  9. return string.Format("Make={0}, Color={1}, Speed={2}, PetName={3}",  
  10. Make, Color, Speed, PetName);  
  11. }  

 

  1. static void Main(string[] args)  
  2. {  
  3. Console.WriteLine("***** Fun with Query Expressions *****"n");  
  4. // This array will be the basis of our testing  
  5. Car[] myCars = new [] {  
  6. new Car{ PetName = "Henry"Color = "Silver"Speed = 100Make = "BMW"},  
  7. new Car{ PetName = "Daisy"Color = "Tan"Speed = 90Make = "BMW"},  
  8. new Car{ PetName = "Mary"Color = "Black"Speed = 55Make = "VW"},  
  9. new Car{ PetName = "Clunker"Color = "Rust"Speed = 5Make = "Yugo"},  
  10.  
  11. new Car{ PetName = "Hank"Color = "Tan"Speed = 0Make = "Ford"},  
  12. new Car{ PetName = "Sven"Color = "White"Speed = 90Make = "Ford"},  
  13. new Car{ PetName = "Mary"Color = "Black"Speed = 55Make = "VW"},  
  14. new Car{ PetName = "Zippy"Color = "Yellow"Speed = 55Make = "VW"},  
  15. new Car{ PetName = "Melvin"Color = "White"Speed = 43Make = "Ford"}  
  16. };  
  17. // We will call various methods here!  
  18. Console.ReadLine();  

【编辑推荐】

  1. Linq to SQL学习经验
  2. Linq隐式类型化局部变量
  3. Linq匿名类型简单概述
  4. Linq Lambda表达式剖析
  5. Linq对象初始值浅谈
责任编辑:佚名 来源: IT168
相关推荐

2009-09-11 11:25:35

LINQ函数集合

2009-09-15 16:31:15

LINQ Custom

2009-09-09 15:44:22

Linq DataCo

2009-09-08 15:19:52

Linq Where操

2009-09-16 11:15:52

Linq联接数据

2009-09-07 17:32:14

LINQ检索数据

2009-09-10 11:29:00

LINQ to SQL

2009-09-10 15:45:07

Linq使用Selec

2009-09-14 13:30:04

Linq数据和对象

2009-09-08 16:55:01

Linq实现XML转换

2009-09-15 11:08:01

LinQ调用存储过程

2009-09-14 15:45:28

LINQ删除XML节点

2009-06-18 10:07:44

LINQ to ACC

2009-09-18 16:32:51

Linq委托实例化

2009-09-09 11:07:52

LINQ to SQL

2009-09-10 16:32:19

LINQ Where

2009-09-11 10:20:36

Linq扩展方法

2009-09-17 11:29:50

Linq扩展方法

2009-09-09 13:01:33

LINQ Lambda

2009-06-15 17:45:20

LINQ分组统计
点赞
收藏

51CTO技术栈公众号