回答:
array.Contains("str", StringComparer.OrdinalIgnoreCase);
または特定の状況に応じて、次のいずれかを選択できます。
array.Contains("str", StringComparer.CurrentCultureIgnoreCase);
array.Contains("str", StringComparer.InvariantCultureIgnoreCase);
InvariantCulture。上記の3つの選択肢のいずれを使用するかは、状況によって異なります。私はあなたの並べ替えに反対しませんが、「おそらくない」コメントを削除します。回答では、現在の状況で有効なものを選択する必要があることはすでに明確になっています。
私の側からのいくつかの重要なメモ、または少なくともいくつかの配布された情報を1つの場所に配置する-次のようなStringComparerを使用した上記のヒントについて:
if (array.Contains("str", StringComparer.OrdinalIgnoreCase))
{}
array.Contains() はLINQ拡張メソッドであるため、.NET 3.5以降でのみ標準で機能し、以下が必要です。
using System;
using System.Linq;
しかし:.NET 2.0では、Contains()(大文字と小文字の区別を考慮しない)単純な方法は、キャストを使用して次のように少なくとも可能です。
if ( ((IList<string>)mydotNet2Array).Contains(“str”) )
{}
Contains()メソッドはIListインターフェイスの一部であるため、これは配列だけでなくリストなどでも機能します。
new[] { "ABC" }.Select(e => e.ToLower()).Contains("abc") // returns true
CurrentCulture)が不要なほとんどすべての場合、Ordinalではなくを使用する必要がありInvariantCultureます。