文字列があります:
string str = "hello";
そして配列:
string[] myarr = new string[] {"good", "Hello", "this", "new"};
文字列 ("hello") と比較するときに (ループを使用せずに) 配列から ("Hello") のインデックスを取得する必要があります。
私が試してみました:
int index = Array.IndexOf(myarr, str);
これは-1
、大文字の「H」のため を返しますが、 の結果が必要です1
。
私も試してみましたStringComparer.OrdinalIgnoreCase
が、効果はありませんでした。
ベストアンサー1
注意してください!!
解決策としてマークされた回答には、次のような問題がある可能性があります。
string array[] = {"hello", "hi", "bye" , "welcome" , "hell"}
回答で説明したのと同じ方法を使用して、「hell」という単語のインデックスを検索すると、次のようになります。
int indexOfArray = Array.FindIndex(array, t => t.IndexOf("hell", StringComparison.InvariantCultureIgnoreCase) >= 0);
indexOfArray =
0
の代わりに結果が返されます4
。
代わりに以下を使用します:
Array.FindIndex(array, t => t.Equals("hell", StringComparison.InvariantCultureIgnoreCase));
適切な結果を得るために。