`

使用LINQ来简化编程的7个技巧

    博客分类:
  • LINQ
阅读更多

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

这里总结了这些技巧。我会介绍如何使用LINQ来:

  • 初始化数组
  • 在一个循环中遍历多个数组
  • 生成随机序列
  • 生成字符串
  • 转换序列或集合
  • 把值转换为长度为1的序列
  • 遍历序列的所有子集

如果你在LINQ方面有心得也欢迎在评论中一起分享。

1. 初始化数组

通常,我们需要把数组的值初始化为相同的值或递增的序列值,或者可能是一个步进不为1的递增/递减序列。有了LINQ,我们可以在数组的初始化器中完成所有工作,不再需要循环!

在如下的示例代码中,第一行代码初始化了一个长度为10的数组,所有元素都是-1,第二行代码初始化b为0、1、2到9,第三行代码初始化c为100、110、120到190.

int[] a = Enumerable.Repeat(-1, 10).ToArray();

int[] b = Enumerable.Range(0, 10).ToArray();

int[] c = Enumerable.Range(0, 10).Select(i => 100 + 10 * i).ToArray();

    要提醒一下:如果你初始化一个很大的数组,最好不考虑这种优雅的方式而是使用传统的方式来替代。LINQ的这种解决方案会动态产生数组,因此垃圾数组需要在运行时被回收。也就是说,我总是会在小数组或测试调试代码的情况下使用这种技巧。

2. 在一个循环中遍历多个数组

    有个朋友问我一个C#的问题:有没有办法在一个循环中遍历多个集合?他的代码差不多是这样:

foreach (var x in array1) {

    DoSomething(x);

}

分享到:
评论

相关推荐

    LINQ高级编程 6/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    LINQ高级编程 2/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    LINQ高级编程 part3

    LINQ高级编程 PDF版本,共69.4MB,分为3个分卷(应为超过60M所以分了3部分) 本书结合具体实例详述了LINQ高级编程所涉及的各个方面。共分为LINQ概述、LINQ to XML、LINQ to SQL及附录四大部分,每一部分的各个章节...

    LINQ中文版文档,LINQ 入门,LINQ 学习,LINQ编程指南

    包含指向相关主题的链接,这些主题说明如何使用 LINQ to Objects 来访问内存中的数据结构。 8.LINQ to XML 包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存中文档修改 功能...

    linq高级编程

    查看本书要有一定的linq基础,本书讲解的内容linq to xml,linq to sql,linq to object的三大类的使用。详细而易懂,希望能助你在编程道路上一臂之力。

    LINQ 编程(C# 4.0)

    LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程(C# 4.0)LINQ 编程...

    LINQ高级编程.7z.001

    LINQ高级编程,很不错的一本书,因为大小限制,只能分为2部分上传

    LINQ高级编程

    本书结合具体实例详述了LINQ高级编程所涉及的各个方面。共分为LINQ概述、LINQ to XML、LINQ to SQL及附录四大部分,每一部分的各个章节结构清晰,层次明显。本书并不是对一种新技术的简单介绍,而是力求使读者通过...

    LINQ技术及编程5

    LINQ技术及编程 5 学习LINQ专用

    [LINQ高级编程]

    [LINQ高级编程]图书源代码。大量LINQ 实例可以学习。

    LINQ高级编程 7/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    高清 LINQ编程技术内幕

    高清 LINQ编程技术内幕

    LINQ编程技术内幕

    资源名称:LINQ编程技术内幕资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    LINQ高级编程 1/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    LINQ高级编程 5/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    LINQ高级编程 4/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    LINQ高级编程 3/7

    然后展示了如何在c#和Visual Basic中使用LINQ to XML编程,以及如何使用LINQ to XML处理其他数据模型;接下来依次介绍LINQ to SQL查询、高级查询概念、LINQ to Entities和LINQ to DataSets。所有这些颇具价值的见解...

    LINQ to XML 编程基础

    LINQ to XML 编程基础

Global site tag (gtag.js) - Google Analytics