学习LINQ时,经常会遇到LINQ遍历多个数组问题,这里将介绍LINQ遍历多个数组问题的解决方法。
自从学习LINQ以来,我发现了很多使用LINQ来改善代码的方式。每一个技巧都让代码写起来更简单,可读性更强。
这里总结了这些技巧。我会介绍如何使用LINQ:
◆初始化数组
◆在一个循环中LINQ遍历多个数组
◆生成随机序列
◆生成字符串
◆转换序列或集合
◆把值转换为长度为1的序列
◆遍历序列的所有子集
如果你在LINQ方面有心得也欢迎在评论中一起分享。
在一个循环中LINQ遍历多个数组
有个朋友问我一个C#的问题:有没有办法在一个循环中LINQ遍历多个数组?他的代码差不多是这样:
- foreach (var x in array1) {
- DoSomething(x);
- }
- foreach (var x in array2) {
- DoSomething(x);
- }
这样的话,循环主体会很大,而且他也不希望这样重复的代码。但是,他又不希望创建一个数组来保存array1和array2的所有元素。LINQ提供了一种优雅的解决方案:Concat操作。我们可以使用单个循环来重写上面的代码,如下:
- foreach (var x in array1.Concat(array2)) {
- DoSomething(x);
- }
注意,由于LINQ在枚举器级别进行操作,他不会产生新的数组来保存array1和array2的元素。因此,除了优雅之外,这个方案还很高效。
【编辑推荐】