2012-07-12 1 views
0

C#에서 다음을 수행 할 수있는 방법이 있습니까?하지만 찾고 있었고 .indexOf가 내게 다가 가지 않았습니다. 그것이 존재 하는가, 아니면 다른 어떤 방법을 사용해야합니까?문자열 배열에서 C#과 같은 코드를 검색하려면 어떻게해야합니까?

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을 반환해야합니까 ??

+0

농담이 네 번째 단어이기 때문에 3이되기를 원하십니까? – Maess

+0

예, 맞습니다. – Fallenreaper

답변

0

이 요소의 인덱스를 줄 것이다 ...

int keyIndex = array.ToList().FindIndex(w => w=="joke"); 
+0

왜 목록으로 변환 할 수 있습니까? – scottheckel

+0

@Hexxagonal - 나는 직접적인 방법을 알지 못한다. 그래서 나는이 다른 방법으로 foudn을한다. ............ 그 밖의 것은 아무것도 없다. –

+0

은 leaset에서 -1의 자원을 준다? –

1

사항 Array.indexOf은 다음과 같이 사용한다, 그래서 정적 방법 :

int count = Array.IndexOf(array, t); 
0
int indexOfWord = Array.FindIndex(sentence.Split(' '), w => w == t); 

Split(" ".ToCharArray())은 분할 메서드의 정의에 params 키워드가 있기 때문에 수행 할 필요가 없습니다. 컴파일러가 자동으로 Split(' ')Split(new char[] {' '})으로 변환합니다.

0

끝맺음 : Array.IndexOf은 Array 내에서 정적 메서드입니다. 그래서 당신은 가지고있을거야

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

차이를 참조하십시오?

관련 문제