String.ToUpper Method

Returns a copy of this string converted to uppercase.

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

Public Function ToUpper As String

Return Value

Type: System.String
The uppercase equivalent of the current string.

This method uses the casing rules of the current culture to convert each character in the current instance to its uppercase equivalent. If a character does not have an uppercase equivalent, it is included unchanged in the returned string.


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.

The ToUpper method is often used to convert a string to uppercase so that it can be used in a case-insensitive comparison. A better method to perform case-insensitive comparison is to call a string comparison method that has a StringComparison parameter whose value you set to StringComparison.CurrentCultureIgnoreCase for a culture-sensitive, case-insensitive comparison.

Security Considerations

The casing operation that results from calling the ToUpper method takes the casing conventions of the current culture 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 (unlike the ToUpper method) and performs more efficiently.

Notes to Callers

As explained in Best Practices for Using Strings in the .NET Framework, we recommend that you avoid calling string casing methods that substitute default values and instead call methods that require parameters to be explicitly specified. To convert a string to uppercase by using the casing conventions of the current culture, call the ToUpper(CultureInfo) method overload with a value of CultureInfo.CurrentCulture for its culture parameter.

The following example calls the ToUpper method to convert a series of one-character strings that contain each character in the Basic Latin, Latin-1 Supplement, and Latin Extended-A character sets. It then displays each string whose uppercase character is different from its lowercase character.

Module Example
   Public Sub Main()
      Dim n As Integer = 0
      For ctr As Integer = &h20 To &h017F
         Dim string1 As String = ChrW(ctr).ToString()
         Dim upperString As String = string1.ToUpper()
         If string1 <> upperString Then
            Console.Write("{0} (\u+{1}) --> {2} (\u+{3})         ", _
                          string1, _
                          Convert.ToUInt16(string1.Chars(0)).ToString("X4"), _ 
                          upperString, _
            n += 1
            If n Mod 2 = 0 Then Console.WriteLine()
         End If 
   End Sub 
End Module 
' The example displays the following output: 
'    a (\u+0061) --> A (\u+0041)         b (\u+0062) --> B (\u+0042) 
'    c (\u+0063) --> C (\u+0043)         d (\u+0064) --> D (\u+0044) 
'    e (\u+0065) --> E (\u+0045)         f (\u+0066) --> F (\u+0046) 
'    g (\u+0067) --> G (\u+0047)         h (\u+0068) --> H (\u+0048) 
'    i (\u+0069) --> I (\u+0049)         j (\u+006A) --> J (\u+004A) 
'    k (\u+006B) --> K (\u+004B)         l (\u+006C) --> L (\u+004C) 
'    m (\u+006D) --> M (\u+004D)         n (\u+006E) --> N (\u+004E) 
'    o (\u+006F) --> O (\u+004F)         p (\u+0070) --> P (\u+0050) 
'    q (\u+0071) --> Q (\u+0051)         r (\u+0072) --> R (\u+0052) 
'    s (\u+0073) --> S (\u+0053)         t (\u+0074) --> T (\u+0054) 
'    u (\u+0075) --> U (\u+0055)         v (\u+0076) --> V (\u+0056) 
'    w (\u+0077) --> W (\u+0057)         x (\u+0078) --> X (\u+0058) 
'    y (\u+0079) --> Y (\u+0059)         z (\u+007A) --> Z (\u+005A) 
'    à (\u+00E0) --> À (\u+00C0)         á (\u+00E1) --> Á (\u+00C1) 
'    â (\u+00E2) --> Â (\u+00C2)         ã (\u+00E3) --> Ã (\u+00C3) 
'    ä (\u+00E4) --> Ä (\u+00C4)         å (\u+00E5) --> Å (\u+00C5) 
'    æ (\u+00E6) --> Æ (\u+00C6)         ç (\u+00E7) --> Ç (\u+00C7) 
'    è (\u+00E8) --> È (\u+00C8)         é (\u+00E9) --> É (\u+00C9) 
'    ê (\u+00EA) --> Ê (\u+00CA)         ë (\u+00EB) --> Ë (\u+00CB) 
'    ì (\u+00EC) --> Ì (\u+00CC)         í (\u+00ED) --> Í (\u+00CD) 
'    î (\u+00EE) --> Î (\u+00CE)         ï (\u+00EF) --> Ï (\u+00CF) 
'    ð (\u+00F0) --> Ð (\u+00D0)         ñ (\u+00F1) --> Ñ (\u+00D1) 
'    ò (\u+00F2) --> Ò (\u+00D2)         ó (\u+00F3) --> Ó (\u+00D3) 
'    ô (\u+00F4) --> Ô (\u+00D4)         õ (\u+00F5) --> Õ (\u+00D5) 
'    ö (\u+00F6) --> Ö (\u+00D6)         ø (\u+00F8) --> Ø (\u+00D8) 
'    ù (\u+00F9) --> Ù (\u+00D9)         ú (\u+00FA) --> Ú (\u+00DA) 
'    û (\u+00FB) --> Û (\u+00DB)         ü (\u+00FC) --> Ü (\u+00DC) 
'    ý (\u+00FD) --> Ý (\u+00DD)         þ (\u+00FE) --> Þ (\u+00DE) 
'    ÿ (\u+00FF) --> Ÿ (\u+0178)         ā (\u+0101) --> Ā (\u+0100) 
'    ă (\u+0103) --> Ă (\u+0102)         ą (\u+0105) --> Ą (\u+0104) 
'    ć (\u+0107) --> Ć (\u+0106)         ĉ (\u+0109) --> Ĉ (\u+0108) 
'    ċ (\u+010B) --> Ċ (\u+010A)         č (\u+010D) --> Č (\u+010C) 
'    ď (\u+010F) --> Ď (\u+010E)         đ (\u+0111) --> Đ (\u+0110) 
'    ē (\u+0113) --> Ē (\u+0112)         ĕ (\u+0115) --> Ĕ (\u+0114) 
'    ė (\u+0117) --> Ė (\u+0116)         ę (\u+0119) --> Ę (\u+0118) 
'    ě (\u+011B) --> Ě (\u+011A)         ĝ (\u+011D) --> Ĝ (\u+011C) 
'    ğ (\u+011F) --> Ğ (\u+011E)         ġ (\u+0121) --> Ġ (\u+0120) 
'    ģ (\u+0123) --> Ģ (\u+0122)         ĥ (\u+0125) --> Ĥ (\u+0124) 
'    ħ (\u+0127) --> Ħ (\u+0126)         ĩ (\u+0129) --> Ĩ (\u+0128) 
'    ī (\u+012B) --> Ī (\u+012A)         ĭ (\u+012D) --> Ĭ (\u+012C) 
'    į (\u+012F) --> Į (\u+012E)         ı (\u+0131) --> I (\u+0049) 
'    ij (\u+0133) --> IJ (\u+0132)         ĵ (\u+0135) --> Ĵ (\u+0134) 
'    ķ (\u+0137) --> Ķ (\u+0136)         ĺ (\u+013A) --> Ĺ (\u+0139) 
'    ļ (\u+013C) --> Ļ (\u+013B)         ľ (\u+013E) --> Ľ (\u+013D) 
'    ŀ (\u+0140) --> Ŀ (\u+013F)         ł (\u+0142) --> Ł (\u+0141) 
'    ń (\u+0144) --> Ń (\u+0143)         ņ (\u+0146) --> Ņ (\u+0145) 
'    ň (\u+0148) --> Ň (\u+0147)         ŋ (\u+014B) --> Ŋ (\u+014A) 
'    ō (\u+014D) --> Ō (\u+014C)         ŏ (\u+014F) --> Ŏ (\u+014E) 
'    ő (\u+0151) --> Ő (\u+0150)         œ (\u+0153) --> Œ (\u+0152) 
'    ŕ (\u+0155) --> Ŕ (\u+0154)         ŗ (\u+0157) --> Ŗ (\u+0156) 
'    ř (\u+0159) --> Ř (\u+0158)         ś (\u+015B) --> Ś (\u+015A) 
'    ŝ (\u+015D) --> Ŝ (\u+015C)         ş (\u+015F) --> Ş (\u+015E) 
'    š (\u+0161) --> Š (\u+0160)         ţ (\u+0163) --> Ţ (\u+0162) 
'    ť (\u+0165) --> Ť (\u+0164)         ŧ (\u+0167) --> Ŧ (\u+0166) 
'    ũ (\u+0169) --> Ũ (\u+0168)         ū (\u+016B) --> Ū (\u+016A) 
'    ŭ (\u+016D) --> Ŭ (\u+016C)         ů (\u+016F) --> Ů (\u+016E) 
'    ű (\u+0171) --> Ű (\u+0170)         ų (\u+0173) --> Ų (\u+0172) 
'    ŵ (\u+0175) --> Ŵ (\u+0174)         ŷ (\u+0177) --> Ŷ (\u+0176) 
'    ź (\u+017A) --> Ź (\u+0179)         ż (\u+017C) --> Ż (\u+017B) 
'    ž (\u+017E) --> Ž (\u+017D)

.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

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft