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

自从学习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);

}

你可能感兴趣的:(编程,C++,c,C#,LINQ)