Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

String.ToUpper Method (CultureInfo)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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
© 2017 Microsoft