Linq扩展函数浅谈

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

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

Linq扩展函数Enumerable获取Counts

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

 
 
 
  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();  
  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 = 100, Make = "BMW"},  
  7. new Car{ PetName = "Daisy", Color = "Tan", Speed = 90, Make = "BMW"},  
  8. new Car{ PetName = "Mary", Color = "Black", Speed = 55, Make = "VW"},  
  9. new Car{ PetName = "Clunker", Color = "Rust", Speed = 5, Make = "Yugo"},  
  10.  
  11. new Car{ PetName = "Hank", Color = "Tan", Speed = 0, Make = "Ford"},  
  12. new Car{ PetName = "Sven", Color = "White", Speed = 90, Make = "Ford"},  
  13. new Car{ PetName = "Mary", Color = "Black", Speed = 55, Make = "VW"},  
  14. new Car{ PetName = "Zippy", Color = "Yellow", Speed = 55, Make = "VW"},  
  15. new Car{ PetName = "Melvin", Color = "White", Speed = 43, Make = "Ford"}  
  16. };  
  17. // We will call various methods here!  
  18. Console.ReadLine();  

新闻名称:Linq扩展函数浅谈
新闻来源:http://www.mswzjz.cn/qtweb/news12/312812.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能