Linq中的动态对象
本文关键字:对象 动态 Linq | 更新日期: 2023-09-27 18:05:23
是否可以使用索引访问动态对象?
下面是我的代码: var Participants = Newtonsoft.Json.JsonConvert.DeserializeObject<List<dynamic>>(obj.ToString()).AsQueryable();
var query = from p in Participants
where p[2] == "Yes" // I need to access to the 2nd column
select
列名是动态的,但是我必须用第二个列名进行测试。有什么想法吗?
如果要转换为动态的类型没有实现索引器,则不能通过将其转换为动态并使用[]
语法来访问索引器
如果你可以访问类的源代码,你应该像这样实现索引器:
public int this[ int i ]
{
get
{
//return the column you are interested in
}
}
另一个选项,如果类公开一个表示列的属性,则可以动态访问它们:
p.Columns[2] == "yes"