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 Function ToUpper (
	culture As CultureInfo
) As String


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.

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))
   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.

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