看到文章Zip operator in Linq with .NET 4.0, Enumerable#zip是Ruby 1.8开始出现的特性,.NET 4/Silverlight 4也有这样的特性。与 Ruby 类似,Enumerable 同样关注你的感受,它为一些行为提供了多个名称。这主要是为了降低学习难度: 你可以根据你的技术背景选择熟悉的名称。

将两个序列按照顺序配对合并(想像一下拉链拉上的情形)为一个包含一序列元组的数组。 元组由每个原始序列的具有相同索引的元素组合而成,在System.Linq命名空间下,也就是一个Linq操作。

下面的代码示例演示如何使用 Zip<TFirst, TSecond, TResult> 方法来合并两个序列。

int[] numbers = { 1, 2, 3, 4 };
      string[] words = { "one", "two", "three" };

var numbersAndWords = numbers.Zip(words, (first, second) => first + " " + second);

foreach (var item in numbersAndWords)
         outputBlock.Text += item + "\n";

// This code produces the following output:

// 1 one
      // 2 two
      // 3 three

此方法通过使用延迟执行实现。即时返回值为一个对象,该对象存储执行操作所需的所有信息。只有通过直接调用对象的 GetEnumerator 方法或使用 Visual C# 中的 foreach(或 Visual Basic 中的 For Each)来枚举该对象时,才执行此方法表示的查询。

该方法将第一个序列中的每个元素与第二个序列中有相同索引的元素合并。如果该序列不具有相同数目的元素,则直到它到达其中一个的末尾,该方法才合并序列。例如,如果一个序列有三个元素,另一个序列具有四个元素,那么结果序列将只有三个元素。

转载于:https://www.cnblogs.com/shanyou/archive/2010/06/20/1761607.html

Enumerable#zip特性相关推荐

  1. .NET 6 攻略大全(三)

    点击上方蓝字 关注我们 (本文阅读时间:15分钟) .NET 6 继续与大家相约周日啦.本篇文章将介绍:单文件应用.IL 修整.System.Text.Json.源代码构建.库AIP的相关攻略. 单文 ...

  2. .NET 6 Preview 4 已发布,这些新功能值得关注!

    作者 | WeihanLi       责编 | 欧阳姝黎 出品 | amazingdotnet 我们很高兴地发布 .NET 6 Preview 4.现在,我们到 .NET 6 正式发布尚有一半.现在 ...

  3. KSO-.NET 6 中的新增功能

    .NET 6 中的新增功能 .NET 6 提供 .NET 统一计划的最终部分,该计划在 .NET 5 中启动. .NET 6 在移动.桌面.IoT 和云应用之间统一了 SDK.基础库和运行时. 除了这 ...

  4. .NET 6 史上最全攻略

    欢迎使用.NET 6.今天的版本是.NET 团队和社区一年多努力的结果.C# 10 和F# 6 提供了语言改进,使您的代码更简单.更好.性能大幅提升,我们已经看到微软降低了托管云服务的成本..NET ...

  5. .NET 6 史上超全攻略

    欢迎使用 .NET 6.今天的版本是.NET 团队和社区一年多努力的结果.C# 10 和 F# 6 提供了语言改进,使您的代码更简单.更好.性能大幅提升,我们已经看到微软降低了托管云服务的成本..NE ...

  6. 神奇的 Object.defineProperty 解释说明

    原文 : https://segmentfault.com/a/1190000004346467?utm_source=tuicool&utm_medium=referral 这个方法了不起啊 ...

  7. 转换Excel表格到MarkDown:exceltk

    源码和下载: 0.1.3 mac: https://github.com/fanfeilong/exceltk/blob/master/pub/exceltk.0.1.3.pkg windows: h ...

  8. 三,ES6中需要注意的特性(重要)

    -----书接上文,前文中我们总结了关于JS的组成部分以及如何快速开展学习JS,相信已经有很多朋友掌握到这些方法.接下来就从更深的ECMAScript开始说起. 1.什么是ES6? ECMAScrip ...

  9. 【JDK7】新特性(2) 语法

    2019独角兽企业重金招聘Python工程师标准>>> JDK7对Java语法有少量更新,重点是在易用性和便捷性的改进.     1.二进制字面量 JDK7开始,终于可以用二进制来表 ...

最新文章

  1. django restframework
  2. 4.HTTPS与HTTP的区别
  3. defparam的语法
  4. 2011年上海交通大学计算机研究生机试真题
  5. C++函数后置返回类型
  6. 黑马商城项目级联选择占满全屏解决方案
  7. linux内核那些事之mmap
  8. 9款WordPress视频插件
  9. java writeboolean_void writeBoolean(boolean v)
  10. /etc/udev/rules.d/10-usbstorage.rules
  11. asp毕业设计——基于asp+access的网上音乐网站设计与实现(毕业论文+程序源码)——网上音乐网站
  12. 深入理解设计模式-设计模式分类与关系
  13. Android home和back事件处理
  14. 同一局域网下,手机能连上wifi,电脑连不上
  15. 全球及中国电子级无水氟化氢发展动态与未来需求趋势预测报告2021~2026年
  16. Java编程那些事儿70——抽象类和接口(三)
  17. ffmpeg图片格式转换
  18. Java将带小数点的String类型值转换成int值
  19. 【注意力机制集锦】Channel Attention通道注意力网络结构、源码解读系列一
  20. 推荐一个好用的抠图软件

热门文章

  1. notepad++与ISE/Vivado关联
  2. gson json转map_Java几种常用JSON库性能比较
  3. keil中断函数的写法_在 KeilC里,中断子程序与函数有何不同?( )_学小易找答案
  4. python 参数收集_Python基础教程第六章 6.4.4 收集参数
  5. bat文件设置dns服务器,.bat文件设置IP、DNS
  6. win10兼容模式怎么设置_win10护眼模式关不掉怎么办
  7. mysql查询网址_bootstrap+flask+mysql实现网站查询
  8. Python 每日定时查询数据库生成Excel报表,并群发邮件
  9. 损失函数梯度对比-均方差和交叉熵
  10. 如何将 ipynb 发布到 blog 中(html, markdown格式)