筛选具有特定属性的对象列表

本文关键字:对象 列表 属性 筛选 | 更新日期: 2023-09-27 18:02:30

class Object
{
    public int ID {get; set;}
    public string description {get; set;}
}

如果我有一个包含各种对象的List<Object> Objects,并且我想找到具有特定描述的对象,我该怎么做?

find every Object in Objects whose description == "test"

筛选具有特定属性的对象列表

您可以使用LINQ:

var results = Objects.Where(o => o.Description == "test");

顺便说一句,意识到Object是一个非常糟糕的类名选择,甚至不会按原样编译…我建议选择更合适的名称,并遵循c#的标准大写约定。

Reed Copsey回答LINQ。+ 1 .

我的答案仍然是LINQ,但用我喜欢的方式来写:

var results =   from myobject in myobjects 
                where myobject.description == "test"
                select myobject;


在where形参中,可以输入任何谓词(返回bool值的函数)。

var results =   from myobject in myobjects 
                where MyPredicate(myobject)
                select myobject;

try

foreach(Object obj in Objects)
{
    if(obj.description.Contains("test"){
        //Object description contains "test"
    }
}