0

我正在 WPF 中创建一个产品编辑表单。此表单具有以下属性的文本框:IdCodeWidthHeightColor

Id并且Code不能重复,所以我想Code在我的Code_TextChanged活动中重复“检查”。

我尝试使用以下 lambda 表达式进行检查:

// List<Product> products = …;
if (products.Where(x => x.code.Equals(Code.Text))
            .Count(g => !g.id.Equals(Id.Text)) > 0)
    CodeExist = true;

我不知道为什么,当我打开一个寄存器时,它会标记CodeExist为 true。

我如何可以为过滤器product.code.Equals(Code.Text)和条件创建条件!product.id(Id.Text)

4

1 回答 1

3

您可以使用“&&”(相当于SQL中的“AND”)或“||”来添加多个条件 (相当于 SQL 中的“OR”)。

如果集合中的一个或多个元素匹配某个条件,您还可以使用 LINQ“Any()”方法返回 true。

因此,您的 if 语句将显示为:

if(products.Any(x=>x.code.Equals(Code.Text) && !x.id.Equals(Id.Text))){
     CodeExists = true;
}

编辑:用“!”修复了小错字 放置。

于 2013-08-24T23:17:54.640 回答