LINQ解决方案简单概述

开发 后端
这里介绍LINQ解决方案,以及介绍在C#或VB中我们不能实现把序列从T类型转换为U类型,即使T从U类继承。因此,即使把List<string>转换为List<object>也很难实现。

本文向大家介绍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对象初始值浅谈
责任编辑:佚名 来源: IT168
相关推荐

2010-10-21 21:53:46

IMOSIP多媒体H3C

2009-09-10 16:28:17

LINQ查询

2009-09-17 11:35:40

Linq匿名类型

2009-09-11 10:16:07

Linq匿名类型

2009-09-09 16:07:16

Linq实体关系

2009-09-15 13:37:24

Linq To Sql

2009-09-15 13:53:53

Linq To Sql

2009-09-10 13:13:47

Linq Func<T

2009-10-22 09:14:01

康普企业解决方案

2009-01-20 14:51:08

视频监控以太网光纤

2009-09-11 09:53:16

Linq查询表达式

2011-07-26 13:52:11

2011-03-29 14:35:34

2020-03-04 13:35:23

高可用MySQL数据库

2009-09-10 13:42:47

Linq UserIn

2009-09-10 11:10:21

Linq Librar

2009-12-16 13:39:27

Ruby元编程

2009-09-15 17:45:34

Linq多条件

2009-09-08 11:25:42

Linq foreac

2009-09-08 16:08:44

Linq使用order
点赞
收藏

51CTO技术栈公众号