4

3 つの既存の resx ファイルの内容を使用して ListView に書き込もうとしています。ファイルの 1 つだけで次のループを使用すると、目的に近い結果が得られますが、複数の 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);
}
4

1 に答える 1

8

キーワードではそれforeachができません。

.Zip()代わりに、LINQメソッドを使用できます。

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 に答える