值我想订购的所有元素的LINQ为“列表<字典<串,KeyValuePair <串,对象>>>”命令由ASC
这是我能遍历它的方式:
List<Dictionary<string, object>> valueList = ((IEnumerable<object>)y.Value).Select(x => (Dictionary<string, object>)x).ToList();
foreach (Dictionary<string, object> dict in valueList)
{
foreach (KeyValuePair<string, object> item in dict)
{
}
}
我有形成LINQ表达,这将所有的值以便在特定的键巨大的问题。(例如,我有特殊的键和值I要重新排序的整个数据源)
valueList.OrderBy(ya => (ya.Values as List<Dictionary<string, KeyValuePair<string, object>>>).Keys.First(key => key.Equals("propertyToSearchFor")));
我得到:
无法将类型 'System.Collections.Generic.Dictionary.ValueCollection' 到 'System.Collections.Generic.List >>' 通过引用转换,装箱转换,取消装箱转换 , 包装转换,或空类型转换
应该改为什么?
修订版1个
谢谢回答,这是我使用http://i63.tinypic.com/2d0mhb9.png的数据的一个例子。根据关键字“propertyToSearchFor”(看看截图:“modell”,“marke”或...,“jan”),我有我的valueList
,我需要重新排序。例如,valueList[0]
包含某种数据集,它在valueList[1]
中具有相同的密钥,但valueList[1]
中的值与valueList[0]
中的值不同。
我需要通过“modell”命令数据资源,它应该遍历valueList[...]
中的所有元素,并根据modell的值对该列表重新排序。
更新2
这里是东西复制和粘贴:)
List<Dictionary<string, object>> valueList = new List<Dictionary<string, object>>();
valueList.Add(new Dictionary<string, object>()
{
{"property1", "test"},
{"property2", null},
{"property3", new Object()},
{"property4", 34.0f},
{"property5", 5.0d},
{"property6", 'c'},
{"property7", "xtest"},
{"property8", "gtest"},
{"property9", "jtest"},
{"property10", "1ptest"},
{"property11", "atest"},
{"property12", "test"},
{"property13", "ätest"},
{"property14", "test"},
{"property15", "ztest"},
});
valueList.Add(new Dictionary<string, object>()
{
{"property1", "test"},
{"property2", null},
{"property3", new Object()},
{"property4", 342.0f},
{"property5", 25.0d},
{"property6", 'h'},
{"property7", "1xtest"},
{"property8", "gtest"},
{"property9", "1jtest"},
{"property10", "1ptest"},
{"property11", "atest"},
{"property12", "1test"},
{"property13", "1ätest"},
{"property14", "test"},
{"property15", "ztest"},
});
valueList.Add(new Dictionary<string, object>()
{
{"property1", "test"},
{"property2", null},
{"property3", new Object()},
{"property4", 344.0f},
{"property5", 5.0d},
{"property6", 'z'},
{"property7", "xtest"},
{"property8", "gt213est"},
{"property9", "jtest"},
{"property10", "2311ptest"},
{"property11", "21atest"},
{"property12", "321test"},
{"property13", "231ätest"},
{"property14", "31test"},
{"property15", "z231test"},
});
valueList.Add(new Dictionary<string, object>()
{
{"property1", "test"},
{"property2", null},
{"property3", new Object()},
{"property4", 3.0f},
{"property5", 500.0d},
{"property6", 'z'},
{"property7", "xtest"},
{"property8", "gstest"},
{"property9", "jtest"},
{"property10", "1pstest"},
{"property11", "atsest"},
{"property12", "test"},
{"property13", "ätsest"},
{"property14", "tesst"},
{"property15", "ztsest"},
});
被定义为'var y = new KeyValuePair(“1”,1);'例如? –
2016-09-07 13:03:00
请输入文字,我无法打开图片链接,谢谢 – 2016-09-07 13:12:25
'y'是什么类型? –