How can I make Array.Contains case-insensitive on a string array?
Some important notes from my side, or at least putting some distributed info at one place- concerning the tip above with a StringComparer like in:
if (array.Contains("str", StringComparer.OrdinalIgnoreCase))
{}
array.Contains()
is a LINQ extension method and therefore works by standard only with .NET 3.5 or higher, needing:
using System;
using System.Linq;
But: in .NET 2.0 the simple
Contains()
method (without taking case insensitivity into account) is at least possible like this, with a cast:if ( ((IList<string>)mydotNet2Array).Contains(“str”) ) {}
As the Contains() method is part of the IList interface, this works not only with arrays, but also with lists, etc.
array.Contains("str", StringComparer.OrdinalIgnoreCase);
Or depending on the specific circumstance, you might prefer:
array.Contains("str", StringComparer.CurrentCultureIgnoreCase);
array.Contains("str", StringComparer.InvariantCultureIgnoreCase);