【发布时间】:2012-09-14 12:56:11
【问题描述】:
我有一个 IEnumerable < Dictionary < string, object > > 对象。
我想在一个数组中获取“aaavalue”“bbbvalue”“cccvalue”“dddvalue”。
样本数据:
IEnumerable<Dictionary<string, object>> testData = new IEnumerable<Dictionary<string, object>>();
/* Values in testData will be like
[0] -
aaa - aaaValue (Key, Value)
bbb - bbbValue
ccc - cccValue
ddd - dddValue
[1] -
aaa - aaaValue (Key, Value)
bbb - bbbValue
ccc - cccValue
ddd - dddValue
and so on */
我知道可以使用反射或 LINQ。但我无法弥补。
请帮忙..
答案:
IEnumerable<Dictionary<string, object>> enumerable = testData as List<Dictionary<string, object>> ?? testData .ToList();
foreach (Dictionary<string, object> objects in enumerable)
{
IEnumerable<object> values = objects.Select(x => x.Value); // To get the values.
IEnumerable<string> keys = objects.Select(x => x.Key); // To get the keys.
}
【问题讨论】:
-
“获取值”是什么意思?预期的结果是什么?
-
@SergRogovtsev 我想在数组中获取“aaavalue”“bbbvalue”“cccvalue”“dddvalue”。
标签: c# linq .net-4.0 dictionary system.reflection