-1
int cell = 1;
foreach (var item in resourceDictionary.Keys)
{
    excelSheet.Cells[cell, 1] = item;
    excelSheet.Cells[cell, 2] = resourceDictionary[item];
        cell++;
}

C#でlinqを使用してこれを実現する最も簡単な方法はありますか?

4

2 に答える 2

8

コードに LINQ は必要ありません。resourceDictionary実装する場合IDictionary<TKey, TValue>、次のものがおそらくより読みやすく/効率的です。

int cell = 1;
foreach (var item in resourceDictionary)
{
    excelSheet.Cells[cell, 1] = item.Key;
    excelSheet.Cells[cell, 2] = item.Value;
    cell++;
}
于 2013-03-20T15:17:44.533 に答える
3

もしそれを望むなら:

resourceDictionary.Select((p, i) => new {p.Key, p.Value, Cell = i + 1})
   .ToList()
   .ForEach(item => {
         excelSheet.Cells[item.Cell, 1] = item.Key;
         excelSheet.Cells[item.Cell, 2] = item.Value;
           });
于 2013-03-20T15:21:40.097 に答える