【译】使用 LINQ 合并 IEnumerable 序列
程序员文章站
2022-07-05 15:46:45
Zip 方法允许把序列中的元素通过交织将 IEnumerable 序列连接在一起。Zip 是一种基于 IEnumerable 的扩展方法。例如,将具有年龄的名称集合压缩在一起: 将会生成包含三个元素的 IEnumerable : image.png image.png 如果一个序列比 ......
zip 方法允许把序列中的元素通过交织将 ienumerable 序列连接在一起。
zip 是一种基于 ienumerable 的扩展方法。
例如,将具有年龄的名称集合压缩在一起:
var names = new[] { "john", "sarah", "amrit" }; var ages = new[] { 22, 58, 36 }; var namesandages = names.zip(ages, (name, age) => name + " " + age);
将会生成包含三个元素的 ienumerable <string>:
如果一个序列比另一个序列短,当到达较短序列的末尾时,“压缩”将会停止。因此,如果添加了一个额外的名称“bob”:
var names = new [] {"john", "sarah", "amrit", "bob"};
结果会和之前一样,“bob”不会被使用,因为并没有与之匹配的年龄。
lambdas 也可用于创建对象;下面的示例演示如何创建一个携带两个元素组成元组的 ienumerable 对象。
两个元素的元组的枚举:
var names = new[] { "john", "sarah", "amrit" }; var ages = new[] { 22, 58, 36 }; var namesandages = names.zip(ages, (name, age) => tuple.create(name, age));
这将产生一个 ienumerable<tuple<string, int32> 对象,它包含三个元组,每个元组都包含一个名称和年龄。
《c# tips》merging ienumerable sequences with linq
推荐阅读
-
php数组函数序列之array_combine() - 数组合并函数使用说明
-
【译】使用 LINQ 合并 IEnumerable 序列
-
php数组函数序列之array_combine() - 数组合并函数使用说明
-
php数组函数序列之array_combine() - 数组合并函数使用说明_php技巧
-
【译】使用 LINQ 合并 IEnumerable 序列
-
php数组函数序列之array_combine() - 数组合并函数使用说明_php技巧
-
php数组函数序列之array_combine() - 数组合并函数使用说明_PHP教程
-
cosmic wonder php数组函数序列之array_combine - 数组合并函数使用说明
-
cosmic wonder php数组函数序列之array_combine - 数组合并函数使用说明
-
Java中的使用枚举来合并序列流