2016-09-12 4 views
4

大文字小文字を区別しない検索でリスト内の項目のインデックスを取得する方法はありますか?文字列が見つからなかった場合はList.IndexOf大文字小文字を区別することを決定する

string s = "foobarbaz"; 
    int index = s.IndexOf("BAR", StringComparison.CurrentCultureIgnoreCase); // index = 3 

IndexOf()戻り-1

List<string> sl = new List<string>() { "a","b","c"}; 
int result = sl.IndexOf("B"); // should be 1 instead of -1 

答えて

5

これを試してみてください: LISTの文字列比較オプションでIndexOfを使用する直接的な方法はありませんので、Lambda式を使用する必要があります。 c0rdは、このスレッドの別の答えに応じて述べた@として

int result = sl.FindIndex(x => x.Equals("B",StringComparison.OrdinalIgnoreCase)); 
-3

C#で文字列のためのIndexOfメソッドは次のように動作するはずComparisonType引数を、持っている:

sl.IndexOf("yourValue", StringComparison.CurrentCultureIgnoreCase) 

または

sl.IndexOf("yourValue", StringComparison.OrdinalIgnoreCase) 

このためドキュメントがhereを見つけることができますおよびhere

+0

についてです、これは' STRING'に関するものではありません、それはおよそ 'ですリスト ' – STLDeveloper

関連する問題