我有一个对象列表,称为属性,从本质上讲,我需要在C#中执行以下操作

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

我遇到的问题是if的嵌套括号位-“Attribute where getName()==” owner“。这是我的代码-显然不起作用,但是大多数if应该是正确的只是得到我需要做正斜杠的位,我不知道如何。
if (attributes.Contains(Attribute /where/ attribute.getName() == "Owner"))
    {
        string value = attr.getValue();
        value = value.Replace(domain, "");
        user = value;
        UserExists(value);
    }

我可能很忙,但是我不得不重启3天的开发才能将所有内容更改为使用Attribute对象,因此我的大脑被破坏了。对不起。

最佳答案

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

if(attributes.Any(attribute=>attribute.getName()=="Owner"))
{
    do stuff
}

这样做的好处是,必须维护此代码的任何人都可以很好地读取它们。

关于c# - C#if语句语法和对象列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3299856/

10-13 01:59