【发布时间】:2015-11-17 04:49:44
【问题描述】:
var student1 = new {name: "abc"};
var student2 = new {name: "efg"}
var department1 = new { name: "science", location= "ny"}
var department2 = new { name: "maths", location= "nj"}
var department3 = new { name: "social", location= "ny"}
List<dynamic> dynamicList = new List<dynamic>();
dynamicList.Add(student1);
dynamicList.Add(student2);
dynamicList.Add(department1);
dynamicList.Add(department2);
dynamicList.Add(department3);
现在我想获取 location = "ny" 的 dynamicList 中的对象总数
var total = dynamicList.Count(x=> (string)x.location == "ny");
这是抛出异常,因为没有位置定义。
更新:当我的位置属性对象排在列表中时,相同的 LINQ 查询有效。
dynamicList.Add(department1);
dynamicList.Add(department2);
dynamicList.Add(department3);
dynamicList.Add(student1);
dynamicList.Add(student2);
var total = dynamicList.Count(x=> (string)x.location == "ny");
这工作没有任何错误。
【问题讨论】: