gpt4 book ai didi

c# - 如何在 List 中找到未定义字符串的索引

转载 作者:太空狗 更新时间:2023-10-29 19:53:31 24 4
gpt4 key购买 nike

据我了解,如果我想获取列表中某个项目的 ID,我可以这样做:

private static void a()
{
List<string> list = new List<string> {"Box", "Gate", "Car"};
Predicate<string> predicate = new Predicate<string>(getBoxId);
int boxId = list.FindIndex(predicate);
}

private static bool getBoxId(string item)
{
return (item == "box");
}

但是如果我想让比较动态呢?因此,我不想检查 item==“box”,而是想将用户输入的字符串传递给委托(delegate),并检查 item==searchString。

最佳答案

通过匿名方法或 lambda 使用编译器生成的闭包是在谓词表达式中使用自定义值的好方法。

private static void findMyString(string str)
{
List<string> list = new List<string> {"Box", "Gate", "Car"};
int boxId = list.FindIndex(s => s == str);
}

如果您使用的是 .NET 2.0(无 lambda),这也适用:

private static void findMyString(string str)
{
List<string> list = new List<string> {"Box", "Gate", "Car"};
int boxId = list.FindIndex(delegate (string s) { return s == str; });
}

关于c# - 如何在 List<T> 中找到未定义字符串的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/984982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com