String.ToLower Method (CultureInfo)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns a copy of this string converted to lowercase, using the casing rules of the specified culture.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- culture
- Type: System.Globalization.CultureInfo
An object that supplies culture-specific casing rules.
| Exception | Condition |
|---|---|
| ArgumentNullException | culture is null. |
The following code example converts two strings of uppercase characters to lowercase characters using the English-United States and Turkish-Turkey cultures, then compares the lowercase strings. The uppercase strings are identical except that for each occurrence of the Unicode LATIN CAPITAL LETTER I in one string, the other string contains LATIN CAPITAL LETTER I WITH DOT ABOVE.
// Sample for String.ToLower(CultureInfo) using System; using System.Globalization; class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { String str1 = "INDIGO"; // str2 = str1, except each 'I' is '\u0130' (Unicode LATIN CAPITAL I WITH DOT ABOVE). String str2 = new String(new Char[] { '\u0130', 'N', 'D', '\u0130', 'G', 'O' }); String str3, str4; outputBlock.Text += "\n"; outputBlock.Text += String.Format("str1 = '{0}'", str1) + "\n"; outputBlock.Text += "\n"; outputBlock.Text += String.Format("str1 is {0} to str2.", ((0 == String.CompareOrdinal(str1, str2)) ? "equal" : "not equal")) + "\n"; CodePoints(outputBlock, "str1", str1); CodePoints(outputBlock, "str2", str2); outputBlock.Text += "\n"; // str3 is a lower case copy of str2, using English-United States culture. outputBlock.Text += "str3 = Lower case copy of str2 using English-United States culture." + "\n"; str3 = str2.ToLower(new CultureInfo("en-US")); // str4 is a lower case copy of str2, using Turkish-Turkey culture. outputBlock.Text += "str4 = Lower case copy of str2 using Turkish-Turkey culture." + "\n"; str4 = str2.ToLower(new CultureInfo("tr-TR")); // Compare the code points in str3 and str4. outputBlock.Text += "\n"; outputBlock.Text += String.Format("str3 is {0} to str4.", ((0 == String.CompareOrdinal(str3, str4)) ? "equal" : "not equal")) + "\n"; CodePoints(outputBlock, "str3", str3); CodePoints(outputBlock, "str4", str4); } public static void CodePoints(System.Windows.Controls.TextBlock outputBlock, String title, String s) { outputBlock.Text += String.Format("{0}The code points in {1} are: {0}", "\n", title); foreach (ushort u in s) outputBlock.Text += String.Format("{0:x4} ", u); outputBlock.Text += "\n"; } } /* This example produces the following results: str1 = 'INDIGO' str1 is not equal to str2. The code points in str1 are: 0049 004e 0044 0049 0047 004f The code points in str2 are: 0130 004e 0044 0130 0047 004f str3 = Lower case copy of str2 using English-United States culture. str4 = Lower case copy of str2 using Turkish-Turkey culture. str3 is equal to str4. The code points in str3 are: 0069 006e 0064 0069 0067 006f The code points in str4 are: 0069 006e 0064 0069 0067 006f */
Note: