var topLevel = resultRows.GroupBy(g => g["CustomerAccountType"])
.Select(cat => new Dictionary<string, object>
{
{"AccountGroupName", cat.First()["CustomerAccountType"] },
{"Actual1" , cat.Sum(s => Convert.ToDecimal(s["Actual1"])) },
{"Actual2" , cat.Sum(s => Convert.ToDecimal(s["Actual2"])) },
{"Actual3" , cat.Sum(s => Convert.ToDecimal(s["Actual3"])) },
{"Actual4" , cat.Sum(s => Convert.ToDecimal(s["Actual4"])) },
{"Actual5" , cat.Sum(s => Convert.ToDecimal(s["Actual5"])) },
{"Actual6" , cat.Sum(s => Convert.ToDecimal(s["Actual6"])) },
{"Actual7" , cat.Sum(s => Convert.ToDecimal(s["Actual7"])) },
{"Actual8" , cat.Sum(s => Convert.ToDecimal(s["Actual8"])) },
{"Actual9" , cat.Sum(s => Convert.ToDecimal(s["Actual9"])) },
{"Actual10" , cat.Sum(s => Convert.ToDecimal(s["Actual10"])) },
{"Actual11" , cat.Sum(s => Convert.ToDecimal(s["Actual11"])) },
{"Actual12" , cat.Sum(s => Convert.ToDecimal(s["Actual12"])) }
});
我想通过索引或迭代在上面的字典中动态添加“实际 1 到 10”。
LINQ 提供了 Enumerable.ToDictionary从查询结果中创建字典的方法,例如:
var dict=myQuery.ToDictionary(item=>item.KeyProperty,item=>item.ValueProperty);
我是一名优秀的程序员,十分优秀!