0

有没有办法在 C# 中执行以下操作,但我正在寻找 .indexOf 并没有突出我。它是否存在,或者我应该使用什么其他方法?

string t = "joke";
string sentence = "there is no joke here";
string[] array = sentence.Split(" ".ToCharArray());

//here is the kicker
int count = array.indexOf(t);
return count;

这应该返回 3??

4

6 回答 6

6

怎么样Array.IndexOf()

var index = Array.IndexOf(array, t);
于 2012-07-12T19:36:07.440 回答
1

使用Array.IndexOf

int count = Array.IndexOf(array, t);
于 2012-07-12T19:38:27.120 回答
1

Array.IndexOf 是静态方法,所以你应该像这样使用它:

int count = Array.IndexOf(array, t);
于 2012-07-12T19:38:44.527 回答
0

这将给出元素的索引...

int keyIndex = array.ToList().FindIndex(w => w=="joke");
于 2012-07-12T19:37:31.317 回答
0
int indexOfWord = Array.FindIndex(sentence.Split(' '), w => w == t);

您不必这样做Split(" ".ToCharArray()),因为 Split 方法的定义中有params关键字。编译器会自动为您转换Split(' ')Split(new char[] {' '});)

于 2012-07-12T19:39:42.387 回答
0

你很接近:Array.IndexOf是 Array 中的静态方法。所以你会有

int index = Array.IndexOf<string>(words, "no");

看到不同?

于 2012-07-12T19:40:36.543 回答