-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。如果resourceDictionaryimplements 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 回答