带有对象列表的C#if语句语法

omi*_*rae 5 c# if-statement

我有一个名为Attributes的对象列表,基本上我需要在C#中执行以下操作

<pseudocode>
if (list.Contains(Attribute where getName() == "owner"))
{
   do stuff
}
</pseudocode>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是if - "属性getName()=="owner"的嵌套括号位.这是我的代码 - 它显然不起作用,但大多数if应该是正确的,它是只是得到我需要在正斜杠做一点,我不知道如何.

if (attributes.Contains(Attribute /where/ attribute.getName() == "Owner"))
    {
        string value = attr.getValue();
        value = value.Replace(domain, "");
        user = value;
        UserExists(value);
    }
Run Code Online (Sandbox Code Playgroud)

我可能很密集,但我不得不重新开始3天的开发,将所有内容都改为使用属性对象,所以我的大脑被摧毁了.抱歉.

mur*_*d99 13

如果您使用的是支持LINQ(3.5或更高版本)的.NET版本,请尝试

if(attributes.Any(attribute=>attribute.getName()=="Owner"))
{
    do stuff
}
Run Code Online (Sandbox Code Playgroud)

这有一个很好的优点,即必须维护此代码的任何人都可以阅读.