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

时间:2015-11-17 18:29:43

标签: c# arrays sorting lambda indexof

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

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

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

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

欢迎任何帮助,谢谢

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

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

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