c# - 如何将 Find 方法与通用 List 类一起使用以按名称查找特定实例

标签 c# generics list listbox find

我有一个 system.collections.generic.list(ListBox 的)

我想使用集合类内置的 Find 方法通过列表框的名称查找特定的列表框

我找到了以下 MSDN 文章

http://msdn.microsoft.com/en-us/library/x0b5b5bc.aspx

这对我不起作用,因为它没有显示如何通过集合名称在集合中查找特定实例。

该示例将“saurus”的搜索字符串硬编码到 Find 谓词中。我想传入搜索名称。当我在我创建的 FindListBox 函数中添加一个变量时,我收到一条错误消息,指出签名不匹配。

我知道我可以将一个私有(private)方法添加到我自己的类中,但现在我很好奇如何在泛型中实现 Find,这样我就可以做到这一点。

赛斯

最佳答案

假设您使用的是 C# 3:

string nameToFind = "saurus";
ListBox found = list.Find(x => x.Name == nameToFind);

对于 C# 2:

string nameToFind = "saurus";
ListBox found = list.Find(delegate (ListBox x) { return x.Name == nameToFind; });

(是的,这仍然是对值进行硬编码,仅用于示例目的。但是 nameToFind 变量可以是方法参数,或者方法调用的结果等)

关于c# - 如何将 Find 方法与通用 List 类一起使用以按名称查找特定实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1390199/

相关文章:

c# - xsd :decimal in WSDL 的限制

c# - Entity Framework ORA-00932 : inconsistent datatypes: “' expected CLOB got CHAR”

java - 对泛型类和 ArrayLists 的困惑

c# - 将类型的通用容器转换为继承类型的容器?

c# - 数据绑定(bind)到 ListView 内部的命令在 UWP/MVVM-Light 中不起作用

c# - 为什么我的应用程序在 Release模式下崩溃但在 Debug模式下不崩溃?

generics - 带记录的静态解析类型

python - 如何从 python 中的字典列表中唯一和排序值?

python - 将列表列表映射到 pandas 系列

r - 找邻居的邻居