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
)

Parameters

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.

ExceptionCondition
ArgumentNullException

culture is null.

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

NoteNote

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.

Security Considerations

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);
       Console.WriteLine();
    }
}
// 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

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft