假设我有List
个具有某些属性的对象:
public class Class1
{
public string s1 {get; set;}
public string s2 {get; set;}
public string s3 {get; set;}
}
我想使用字符串过滤此List<Class1>
,其中包含以下格式:
"s1=Hello,s3=Goodbye"
(可能通过网址)
当然我可以通常的方式解析字符串,然后遍历过滤器项目,通过反射比较属性名称等。
但是我想知道是否有人知道某个类似于此的图书馆或班级?这一切都相当乏味,如果做得不好可能会很慢,特别是对于有很多属性的课程。这个问题听起来很通用,以至于我确定其他人之前已经处理过,只是想知道是否有人知道任何优雅的解决方案?
答案 0 :(得分:0)
这样的事情(通过使用Linq
,更具体地说是Where
子句):
var myList = new List<Class1> { new Class1 { s1 = "Hello", s3 = "Goodbye" }, new Class1 { s1 = "Goodbye", s3 = "Hello" } };
var filteredList = myList.Where(i => i.s1.Equals("Hello") && i.s3.Equals("Goodbye")).ToList();
filteredList
现在只包含myList
中的第一个元素。