Expand Minimize

String.ToUpperInvariant Method

Updated: October 2009

Returns a copy of this String object converted to uppercase using the casing rules of the invariant culture.

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

public string ToUpperInvariant()

Return Value

Type: System.String
A String object in uppercase.

The invariant culture represents a culture that is culture-insensitive. It is associated with the English language but not with a specific country or region. For details, see Using the InvariantCulture Property.

If your application depends on the case of a string changing in a predictable way that is unaffected by the current culture, use the ToUpperInvariant method. The ToUpperInvariant method is equivalent to ToUpper(CultureInfo.InvariantCulture). The method is recommended when a collection of strings must appear in a predictable order in a user interface control.

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

Security Considerations

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

The following example defines a string array that contains a single word in a number of languages. The ToUpperInvariant method is used to populate the elements of a parallel array with the case-insensitive version of each word. The Array.Sort<TKey, TValue>(TKey[], TValue[], IComparer<TKey>) method is used to sort the case-sensitive array based on the order of elements in the uppercase array to ensure that elements appear in the same order regardless of language.

using System;
using System.IO;

public class Example
{
   public static void Main()
   {
      string[] words = { "Tuesday", "Salı", "Вторник", "Mardi", 
                         "Τρίτη", "Martes", "יום שלישי", 
                         "الثلاثاء", "วันอังคาร" };
      StreamWriter sw = new StreamWriter(@".\output.txt");

      // Display array in unsorted order. 
      foreach (string word in words)
         sw.WriteLine(word);

      sw.WriteLine();

      // Create parallel array of words by calling ToUpperInvariant.
      string[] upperWords = new string[words.Length];
      for (int ctr = words.GetLowerBound(0); ctr <= words.GetUpperBound(0); ctr++)
         upperWords[ctr] = words[ctr].ToUpperInvariant();

      // Sort the words array based on the order of upperWords.
      Array.Sort(upperWords, words, StringComparer.InvariantCulture);

      // Display the sorted array. 
      foreach (string word in words)
         sw.WriteLine(word);

      sw.Close();      
   }
}
// The example produces the following output: 
//       Tuesday 
//       Salı 
//       Вторник 
//       Mardi 
//       Τρίτη 
//       Martes 
//       יום שלישי 
//       الثلاثاء 
//       วันอังคาร 
//        
//       Mardi 
//       Martes 
//       Salı 
//       Tuesday 
//       Τρίτη 
//       Вторник 
//       יום שלישי 
//       الثلاثاء 
//       วันอังคาร

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

Date

History

Reason

October 2009

Replaced the example.

Customer feedback.

October 2008

Expanded the Remarks section and added a note that the method returns a new String object.

Customer feedback.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft