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

如果我有一个List<Object> Objects填充了各种对象的对象,并且我想查找其描述具有特定内容的对象,我该怎么做?

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

3 回答 3

37

您可以使用 LINQ:

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

在旁注中,意识到这Object是一个非常糟糕的类名称选择,甚至不会按原样编译......我建议选择更合适的名称,并遵循 C# 的标准大写约定。

于 2013-03-06T17:05:35.237 回答
2

就像 Reed Copsey 回答的那样LINQ。+1。

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

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


在 where 参数中,您可以放入任何谓词(返回布尔值的函数)。

var results =   from myobject in myobjects 
                where MyPredicate(myobject)
                select myobject;
于 2013-03-06T17:11:03.977 回答
1

尝试

foreach(Object obj in Objects)
{
    if(obj.description.Contains("test"){
        //Object description contains "test"
    }
}
于 2013-03-06T17:09:42.933 回答