我有一个 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/