Array contains case insensitive
The following asp.net c# example code demonstrate us how can we
determine whether an array contains an elementby ignoring case
programmatically at run time in an asp.net application. .Net framework's
Enumerable.Contains()method determine whether a sequence contains a
specified element.
Enumerable.Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>) overloaded methodallow us to determine whether a sequence contains a specified element by using a specified IEqualityCompararer<T>.
To call this overloaded method, fist we need to specify the source array to locate the searched element. Next, we need topass the searched element value as parameter of Contains() method to locate it within entire array. We also need to specify anequality comparer to compare values.
In this example code, we uses StringComparer.InvariantCultureIgnoreCase, StringComparer.CurrentCultureIgnoeCase andStingComparer.OrdinalIgnoreCase comparers to compare values by ignoring case (case insensitive).
StringComparer.OrdinalIgnoeCase comparer get a StringComparer object that performs a case-insensitive ordinalstring comparison.
Finally, we can determine whether an array contains a value by ignoring case as this wayArray.Contains("ValueToSearch", StringComparer.OrdinalIgnoreCase).
Enumerable.Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>) overloaded methodallow us to determine whether a sequence contains a specified element by using a specified IEqualityCompararer<T>.
To call this overloaded method, fist we need to specify the source array to locate the searched element. Next, we need topass the searched element value as parameter of Contains() method to locate it within entire array. We also need to specify anequality comparer to compare values.
In this example code, we uses StringComparer.InvariantCultureIgnoreCase, StringComparer.CurrentCultureIgnoeCase andStingComparer.OrdinalIgnoreCase comparers to compare values by ignoring case (case insensitive).
StringComparer.OrdinalIgnoeCase comparer get a StringComparer object that performs a case-insensitive ordinalstring comparison.
Finally, we can determine whether an array contains a value by ignoring case as this wayArray.Contains("ValueToSearch", StringComparer.OrdinalIgnoreCase).
array-contains-case-insensitive.aspx
<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html>
<script runat="server">
protected void Button1_Click(object sender, System.EventArgs e)
{
string[] birds = new string[]
{
"Brown Pelican",
"Great White Pelican",
"Peruvian Booby",
"European Shag",
"Guanay Cormorant"
};
Label1.Text = "birds array.........<br />";
foreach (string s in birds)
{
Label1.Text += s + "<br />";
}
Boolean result = birds.Contains("Guanay Cormorant", StringComparer.CurrentCultureIgnoreCase);
Label1.Text += "<br />'Guanay Cormorant' bird contains in birds array? " + result;
// choose any one way
//Boolean result2 = birds.Contains("gUaNay Cormorant", StringComparer.InvariantCultureIgnoreCase);
//Boolean result2 = birds.Contains("gUaNay Cormorant", StringComparer.CurrentCultureIgnoreCase);
Boolean result2 = birds.Contains("gUaNay Cormorant", StringComparer.OrdinalIgnoreCase);
Label1.Text += "<br /><br />'gUaNay Cormorant' bird contains in birds array? " + result2;
Boolean result3 = birds.Contains("Flightless Cormorant", StringComparer.CurrentCultureIgnoreCase);
Label1.Text += "<br /><br />'Flightless Cormorant' bird contains in birds array? " + result3;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>c# example - array contains case insensitive</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2 style="color:DarkBlue; font-style:italic;">
c# example - array contains case insensitive
</h2>
<hr width="550" align="left" color="LightBlue" />
<asp:Label
ID="Label1"
runat="server"
Font-Size="X-Large"
>
</asp:Label>
<br /><br />
<asp:Button
ID="Button1"
runat="server"
Text="check array contains case insensitive"
OnClick="Button1_Click"
Height="40"
Font-Bold="true"
/>
</div>
</form>
</body>
</html>