LINQ解决方案简单概述

本文向大家介绍LINQ解决方案,可能好多人还不了解LINQ解决方案,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

自从学习LINQ以来,我发现了很多使用LINQ来改善代码的方式。每一个技巧都让代码写起来更简单,可读性更强。

这里总结了这些技巧。我会介绍如何使用LINQ来:
◆初始化数组
◆在一个循环中遍历多个数组
◆生成随机序列
◆生成字符串
◆转换序列或集合
◆把值转换为长度为1的序列
◆遍历序列的所有子集

本文介绍转换序列或集合,如果你在LINQ方面有心得也欢迎在评论中一起分享。

转换序列或集合

在C#或VB中我们不能实现把序列从T类型转换为U类型,即使T从U类继承。因此,即使把List<string>转换为List<object>也很难实现。(要解释为什么,请看Bick Byer的帖子)。但是如果要把IEnumerable<T>转换为IEnumerable<U>的话,有一个简单而有效的LINQ解决方案:

 
 
 
  1. IEnumerable<string> strEnumerable = …;  
  2. IEnumerable<object> objEnumerable = strEnumerable.Cast<object>(); 

如果我们需要转换List<T>为List<U>,也提供了LINQ解决方案,但是它会进行列表的复制:

 
 
 
  1. List<string> strList = …;  
  2. List<object> objList = new List<object>(strList.Cast<object>()); 

Chris Cavanagh建议另外一种解决方式:

 
 
 
  1. var objList = strList.Cast<object>().ToList(); 

【编辑推荐】

  1. Linq to SQL学习经验
  2. Linq隐式类型化局部变量
  3. Linq匿名类型简单概述
  4. Linq Lambda表达式剖析
  5. Linq对象初始值浅谈
THE END