4

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

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);
}
4

1 回答 1

8

foreach关键字无法做到这一点。

相反,您可以使用 LINQ.Zip()方法

foreach(var item in rdr0.Zip(rdr1, (d, e)
         => new [] { d.Key.ToString(), d.Value.ToString(), e.Value.ToString() }))
于 2013-03-11T13:59:49.803 回答