在泛型中使用Predicate需要帮助

时间:2011-06-01 11:18:16

标签: c#-2.0

目前我使用的方法根据从提供的密钥获得的字符串比较返回ICommand对象。

public ICommand getCommand(string mCommand)
        {
            foreach (object obj in objCommandList)
            {
                ICommand command = (ICommand)obj;
                if (command.m_strCommandName == mCommand)
                {
                    return command;
                }
            }
        return null;

        }

其中 objCommandList包含ICommand对象。

现在我想改进我的代码,或者尝试在集合中搜索替代方法,即在集合中检索过滤对象时使用 Predicate 委托等选项。

即。

objCommandList.Find(Predicate syntax which is needed here...)

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

objCommandList.Find(delegate(Icommand command) { return command.m_strCommandName == mCommand; });

objCommandList.Find(c => c.m_strCommandName == mCommand);