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

标签 c# if-statement

我有一个对象列表,称为属性,基本上,我需要在 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# if 语句语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299856/

相关文章:

python - 为什么 if-else 表达式的第二个条件中的尾随逗号导致第一个条件被转换为元组

javascript - 如何使用 JS 根据图像制作动态横幅更改背景颜色?

javascript - 剑道网格列模板中的条件嵌套

c# - JwtBearerOptions 配置方法未执行

c# - longListSelector 项目上的 TiltEffect,windows phone 8

c# - 如何在不创建实例的情况下访问在另一个类中声明的类?

c - C 中的 else if 语句与计算相结合时出现问题

c# - HtmlAgilityPack 并选择节点和子节点

c# - 来自 Window 的 VisualBrush 保留了以前 VisualBrush 的图像

javascript - Drop down 中的数据绑定(bind)