从对象列表

时间:2018-05-02 09:52:06

标签: c# list oop collections filter

我有一个对象列表(MyObject),它有10个属性。

Class MyObject{
   string F1,
    string F2,
   ....
   string F10
}

 var myList = new List<MyObject> ()

从那个mylist我必须过滤掉一些属性,并根据字符串列表中提供的输入获取所选项目的新列表。

var requiredFlields = new List<String> {"F1", "F2"}

我知道:

var o1 = myList.Select(a => new {  a.F1, a.F2 }).ToList();

但它不允许我使用requiredFields列表进行过滤。

无论如何要实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

您可以使用(//table/tbody/tr[2]/td[10]/span/div/a[2][@role="button"])[1]函数从类中获取属性详细信息。使用它来获取所有属性的详细信息。

遍历每个属性并检查该属性的名称是否存在于课堂中。

示例代码:

GetProperties()

PropertyInf[] propertiesInfo = MyObject.GetType().GetProperties(); foreach(PropertyInfo item in propertiesInfo) { if(requiredFields.Contains(item.Name)) { //Do your operation here } } 的帮助下,您可以检查属性名称,属性类型,GetSetMethod()

有关详情:PropertyInfo Class