c# - 具有多个 DictionaryEntry 的 foreach

标签 c# foreach

我正在尝试使用 3 个已经存在的 resx 文件的内容写入 ListView。仅对其中一个文件使用以下循环会产生接近我想要的结果,但我需要的是对多个 DictionaryEntry 使用相同的循环。我正在尝试做的事情看起来像这样..

ResXResourceReader rdr0 = new ResXResourceReader(textPath1.Text + ".resx");
ResXResourceReader rdr1 = new ResXResourceReader(textPath1.Text + ".es.resx");
ResXResourceReader rdr2 = new ResXResourceReader(textPath1.Text + ".fr.resx");

foreach ((DictionaryEntry d in rdr0) && (DictionaryEntry e in rdr1))
{
    string[] row = { d.Key.ToString(), d.Value.ToString(), e.Value.ToString() };
    var listViewItem = new ListViewItem(row);
    listResx.Items.Add(listViewItem);
}

最佳答案

foreach 关键字不能做到这一点。

相反,您可以使用 LINQ .Zip() method :

foreach(var item in rdr0.Zip(rdr1, (d, e)
         => new [] { d.Key.ToString(), d.Value.ToString(), e.Value.ToString() }))

关于c# - 具有多个 DictionaryEntry 的 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15340461/

相关文章:

c# - 为什么 jquery 在布局中定义的页面上不起作用

php - 在 foreach 循环中使用 SQL 结果

php - 在 foreach 循环 php 中包含文件

javascript - 使用 javascript 克隆 php foreach 元素

r - 在foreach循环中找不到函数

c# - .NET 是否支持 OFB cipherMode?

c# - string.Replace(string, string) 是否创建额外的字符串?

c# - gridview中自动相乘两列

c# - 查找两个字符串之间的不同单词

php - 从 MySQL 列获取数组