Skip to main content
.NET Framework Class Library
StringToUpper 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)
Syntax
Public Function ToUpper ( _
	culture As [%$TOPIC/24kc78ka_en-us_VS_110_1_0_0_0_0%] _
) As [%$TOPIC/24kc78ka_en-us_VS_110_1_0_0_0_1%]
public [%$TOPIC/24kc78ka_en-us_VS_110_1_0_1_0_0%] ToUpper(
	[%$TOPIC/24kc78ka_en-us_VS_110_1_0_1_0_1%] culture
)
public:
[%$TOPIC/24kc78ka_en-us_VS_110_1_0_2_0_0%]^ ToUpper(
	[%$TOPIC/24kc78ka_en-us_VS_110_1_0_2_0_1%]^ culture
)
member ToUpper : 
        culture:[%$TOPIC/24kc78ka_en-us_VS_110_1_0_3_0_0%] -> [%$TOPIC/24kc78ka_en-us_VS_110_1_0_3_0_1%]
public function ToUpper(
	culture : [%$TOPIC/24kc78ka_en-us_VS_110_1_0_4_0_0%]
) : [%$TOPIC/24kc78ka_en-us_VS_110_1_0_4_0_1%]

Parameters

culture
Type: System.GlobalizationCultureInfo

An object that supplies culture-specific casing rules.

Return Value

Type: SystemString
The uppercase equivalent of the current string.
Exceptions
ExceptionCondition
ArgumentNullException

culture is .

Remarks

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 CultureInfoInvariantCulture, 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.

Examples

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.

Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim str1 As String = "indigo" 
      Dim str2, str3 As String 

      ' 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.", _
                        IIf(String.CompareOrdinal(str2, str3) = 0, "equal", "not equal"))
   End Sub 

   Public Sub ShowCodePoints(varName As String, s As String)
      Console.Write("{0} = {1}: ", varName, s)
      For Each c In s
         Console.Write("{0:X4} ", AscW(c))
      Next
      Console.WriteLine() 
   End Sub  
End Module 
' The example displays the following output: 
'       str1 = indigo: 0069 006E 0064 0069 0067 006F 
'       str2 = INDIGO: 0049 004E 0044 0049 0047 004F 
'       str3 = İNDİGO: 0130 004E 0044 0130 0047 004F 
'       str2 is not equal to str3.
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.
Version Information

.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