C# 如何循环字典<;IEnumerable<;字符串>;,字典<;IEnumerable<;十进制>>;?
类别: 代码:C# 如何循环字典<;IEnumerable<;字符串>;,字典<;IEnumerable<;十进制>>;?,c#,dictionary,.net-4.0,C#,Dictionary,.net 4.0,类别: 代码: 结果组对象在我看来不符合逻辑。这本字典使循环变得容易,而且似乎更符合逻辑: foreach(var group in groups) { //???? } 然后在组上循环和登录: var groups = myClasses .GroupBy(o => o.processId) .ToDictionary(g => g.Key, g => g.Select(x => new {Measurement = x.measurement
结果
组
对象在我看来不符合逻辑。这本字典使循环变得容易,而且似乎更符合逻辑:
foreach(var group in groups)
{
//????
}
然后在组上循环和登录:
var groups = myClasses
.GroupBy(o => o.processId)
.ToDictionary(g => g.Key, g => g.Select(x => new {Measurement = x.measurement, Value = x.measurementValue}));
将产生以下结果:
foreach (var item in groups)
{
Debug.WriteLine($"Key: {item.Key}, Value: {"\t" + string.Join(Environment.NewLine + "\t\t\t\t", item.Value.Select(i => $"{nameof(i.Measurement)}:{i.Measurement},{nameof(i.Value)}:{i.Value}"))}");
}
您确定要将IEnumerable作为字典的键吗?@CodeNotFound它是由Linq生成的,因为您=>
.ToDictionary(g=>g.Select(x=>x.measurement),…)
。通常我们这样做=>.ToDictionary(g=>g.Key,…
var groups = myClasses
.GroupBy(o => o.processId)
.ToDictionary(g => g.Key, g => g.Select(x => new {Measurement = x.measurement, Value = x.measurementValue}));
foreach (var item in groups)
{
Debug.WriteLine($"Key: {item.Key}, Value: {"\t" + string.Join(Environment.NewLine + "\t\t\t\t", item.Value.Select(i => $"{nameof(i.Measurement)}:{i.Measurement},{nameof(i.Value)}:{i.Value}"))}");
}
Key: 1, Value: Measurement:height,Value:10
Measurement:length,Value:11
Measurement:width,Value:12
Key: 2, Value: Measurement:height,Value:20
Measurement:length,Value:21
Measurement:width,Value:22