C# and delegates

本文关键字:delegates and | 更新日期: 2023-09-27 18:12:50

我想使用一个委托,它允许我使用FIND搜索列表中一个项目与另一个列表中另一个项目的匹配。

我的代码工作如下:-

Type a = listname.Find(delegate(Type b))
{
         return list.item == b.list.item;
}

如果列表项与b中的项匹配,则返回a中的项。这很好,但我现在想检查是否只有在list.item中有多个项与b.list.item匹配时才返回a。例如

Type a = listname.Find(delegate(Type b))
{
         return list.item == b.list.item;
                 list.anotheritem == b.list.anotheritem
}

我似乎无法对其进行编码,使其在返回类型a之前检查多个条件。

C# and delegates

Type a = listname.Find(delegate(Type b) 
{ 
         return list.item == b.list.item &&
                 list.anotheritem == b.list.anotheritem;
} 

使用逻辑AND运算符,&。

     return list.item == b.list.item && 
            list.anotheritem == b.list.anotheritem
     return list.item == b.list.item;
             list.anotheritem == b.list.anotheritem

应该是

     return list.item == b.list.item &&
             list.anotheritem == b.list.anotheritem;

您需要AND运算符而不是分号来组合两个条件:

Type a = listname.Find(delegate(Type b)
{
         return list.item == b.list.item 
                && list.anotheritem == b.list.anotheritem;
}