int cell = 1;
foreach (var item in resourceDictionary.Keys)
{
excelSheet.Cells[cell, 1] = item;
excelSheet.Cells[cell, 2] = resourceDictionary[item];
cell++;
}
C#でlinqを使用してこれを実現する最も簡単な方法はありますか?
コードに 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++;
}
もしそれを望むなら:
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;
});