ToUpper Method (CultureInfo)
Collapse the table of content
Expand the table of content

String.ToUpper Method (CultureInfo)


Returns a copy of this string converted to uppercase, using the casing rules of the specified culture.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public string ToUpper(
	CultureInfo culture


Type: System.Globalization.CultureInfo

An object that supplies culture-specific casing rules.

Return Value

Type: System.String

The uppercase equivalent of the current string.

Exception Condition

culture is null.

The casing rules of the culture specified by the culture parameter determine the way the case of a string is changed.


This method does not modify the value of the current instance. Instead, it returns a new string in which all characters in the current instance are converted to uppercase.

If you pass the ToUpper(CultureInfo) method a CultureInfo object other than CultureInfo.InvariantCulture, the casing operation will take culture-specific rules into account. If you need the lowercase or uppercase version of an operating system identifier, such as a file name, named pipe, or registry key, use the ToLowerInvariant or ToUpperInvariant method. This produces the same result in every culture and performs more efficiently.

The following example converts a string of lowercase characters to two strings of uppercase characters using the English-United States and Turkish-Turkey cultures, then compares the uppercase 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.

using System;
using System.Globalization;

class Example 
    public static void Main() 
       string str1 = "indigo";
       string str2, str3;

       // str2 is an uppercase copy of str1, using English-United States culture.
       str2 = str1.ToUpper(new CultureInfo("en-US", false));

       // str3 is an uppercase copy of str1, using Turkish-Turkey culture.
       str3 = str1.ToUpper(new CultureInfo("tr-TR", false));

       // Compare the code points and compare the uppercase strings.
       ShowCodePoints("str1", str1);
       ShowCodePoints("str2", str2);
       ShowCodePoints("str3", str3);
       Console.WriteLine("str2 is {0} to str3.", 
            String.CompareOrdinal(str2, str3) == 0 ? "equal" : "not equal");

    public static void ShowCodePoints(string varName, string s)
       Console.Write("{0} = {1}: ", varName, s);
       foreach (ushort u in s)
         Console.Write("{0:x4} ", u);
// This example displays the following output:
//       str1 = indigo: 0069 006e 0064 0069 0067 006f
//       str2 = INDIGO: 0049 004e 0044 0049 0047 004f
//       str3 = INDIGO: 0130 004e 0044 0130 0047 004f
//       str2 is not equal to str3.

.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
© 2015 Microsoft