c# - 在没有索引的情况下同时枚举两个列表的模式是什么?

标签 c#

我正在寻找一种创造性的模式来枚举两个同步的 IEnumerable<>。

如果我编造一些东西并添加到 C# 语法中,我可能会这样写:

foreach(var firstItem, var secondItem in this.ListOne, this.ListTwo)
{
   if (firstItem.Prop == secondItem.Prop)
      WorkSomeMagic(secondItem);

   DoSomethingElse(firstItem);
}

现在,显然那不存在。在处理无法通过索引访问的枚举时,人们使用什么模式来完成类似的事情?请记住,我的伪 foreach 中的内容会更复杂;我简化了这个例子。

最佳答案

您正在寻找 Zip,这是 .NET 4 中的新功能,或者您可以在此处使用实现:

Is there a zip-like method in .Net?

关于c# - 在没有索引的情况下同时枚举两个列表的模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1169163/

相关文章:

C# LocalReport 更改文本框位置

c# - HTML &lt;textarea&gt; 仅将 '\n' 发送回服务器

c# - C# 程序如何使用任何版本的 C++ dll?

c# - 当我向 SqlDataRecord 添加值时,数字会四舍五入

c# - 无法从泛型类型转换为接口(interface)

c# - 如何从 XDocument 获取 Xml 作为字符串?

c# - Xaml,按钮的click事件在命令之前运行?

c# - MVC Action 属性测试

来自 Int 的 C# Char 用作 String - VB Chr() 的真正等价物

c# - WPF 绑定(bind)内部控件与父数据上下文