如何在数组中查找以 "COM" 开头的字符串的第一次出现

How to find the first occurance of a string that begins with "COM" in an array

是否有内置方法可以执行此操作,还是我必须编写自己的循环? 我试过下面的代码:

int index = Array.IndexOf(options, ind => ind.Contains("COM"));

但它给出了以下错误:无法将 lambda 转换为类型对象。 此代码运行但始终 returns -1:

int index = Array.IndexOf(options, options.Where(ind => ind.Contains("COM")));

欢迎任何帮助,谢谢

试试这个:

int index = Array.FindIndex(options, s => s.StartsWith("COM"));

您可以使用 Array.FindIndex(T):

string[] foo = { "FOO", "BAR", "COM", "BUZZ" };
int theIndex = Array.FindIndex(foo, s => s.StartsWith("COM"));
// returns 2