String.ToUpper Метод

Определение

Возвращает копию этой строки, переведенную в верхний регистр.

Перегрузки

ToUpper()

Возвращает копию этой строки, переведенную в верхний регистр.

ToUpper(CultureInfo)

Возвращает копию этой строки, переведенную в верхний регистр, используя правила определения регистра заданного языка и региональных параметров.

ToUpper()

Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs

Возвращает копию этой строки, переведенную в верхний регистр.

C#
public string ToUpper();

Возвращаемое значение

Эквивалент текущей строки в верхнем регистре.

Примеры

В следующем примере вызывается ToUpper метод для преобразования последовательности односимвенных строк, содержащих каждый символ в наборах символов Basic Latin, Latin-1 Supplement и Latin Extended-A. Затем отображается каждая строка, символ верхнего регистра которой отличается от символа нижнего регистра.

C#
using System;

public class Example
{
   public static void Main()
   {
      int n = 0;
      for (int ctr = 0x20; ctr <= 0x017F; ctr++) {
         string string1 = ((char)ctr).ToString();
         string upperString = string1.ToUpper();
         if (string1 != upperString) {
            Console.Write(@"{0} (\u+{1}) --> {2} (\u+{3})         ",
                          string1, 
                          Convert.ToUInt16(string1[0]).ToString("X4"),
                          upperString, 
                          Convert.ToUInt16(upperString[0]).ToString("X4"));
            n++;
            if (n % 2 == 0) Console.WriteLine();
         }
      } 
   }
}
// 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)

Комментарии

Этот метод использует правила регистра текущего языка и региональных параметров для преобразования каждого символа в текущем экземпляре в эквивалент в верхнем регистре. Если символ не имеет эквивалента в верхнем регистре, он включается в возвращаемую строку без изменений.

Примечание

Этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой все символы в текущем экземпляре преобразуются в верхний регистр.

Метод ToUpper часто используется для преобразования строки в верхний регистр, чтобы ее можно было использовать в сравнении без учета регистра. Лучший метод для сравнения без учета регистра — вызвать метод сравнения строк с параметром StringComparison , значение которого вы задали StringComparison.CurrentCultureIgnoreCase для сравнения с учетом языка и региональных параметров без учета регистра.

Операция с регистром, полученная в результате вызова ToUpper() метода, учитывает соглашения о регистре текущего языка и региональных параметров. Если вам нужна версия идентификатора операционной системы в нижнем или верхнем регистре, например имя файла, именованный канал или раздел реестра, используйте ToLowerInvariant метод или ToUpperInvariant . Это дает одинаковый результат в каждом языке и региональных параметрах (в ToUpper() отличие от метода) и работает более эффективно.

Примечания для тех, кто вызывает этот метод

Как описано в разделе Рекомендации по использованию строк, рекомендуется избегать вызова методов регистра строк, которые заменяют значения по умолчанию, и вместо этого вызывать методы, требующие явного указания параметров. Чтобы преобразовать строку в верхний регистр с помощью соглашений о регистре текущего языка и региональных параметров, явно сообщите о своем намерении, вызвав перегрузку ToUpper(CultureInfo) метода со значением для CurrentCulture параметра culture . Если вам не требуется лингвистическое сравнение, рассмотрите возможность использования Ordinal.

См. также раздел

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUpper(CultureInfo)

Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs

Возвращает копию этой строки, переведенную в верхний регистр, используя правила определения регистра заданного языка и региональных параметров.

C#
public string ToUpper(System.Globalization.CultureInfo? culture);
C#
public string ToUpper(System.Globalization.CultureInfo culture);

Параметры

culture
CultureInfo

Объект, задающий правила определения регистра для языка и региональных параметров. Если значением параметра culture является null, используется текущий язык и региональные параметры.

Возвращаемое значение

Эквивалент текущей строки в верхнем регистре.

Примеры

В следующем примере строка символов нижнего регистра преобразуется в две строки символов верхнего регистра с помощью English-United States и Turkish-Turkey языка и региональных параметров, а затем сравнивает строки в верхнем регистре. Строки в верхнем регистре идентичны, за исключением того, что для каждого вхождения прописной буквы Юникода в одной строке другая строка содержит латинскую прописную букву I WITH DOT ABOVE.

C#
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 = İNDİGO: 0130 004e 0044 0130 0047 004f
//       str2 is not equal to str3.

Комментарии

Правила регистра языка и региональных параметров, заданные culture параметром , определяют способ изменения регистра строки.

Примечание

Этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой все символы в текущем экземпляре преобразуются в верхний регистр.

Если передать ToUpper(CultureInfo) метод объекту, отличному CultureInfo от CultureInfo.InvariantCulture, операция создания регистра будет учитывать правила, относящиеся к языку и региональным параметрам. Если вам нужна версия идентификатора операционной системы в нижнем или верхнем регистре, например имя файла, именованный канал или раздел реестра, используйте ToLowerInvariant метод или ToUpperInvariant . Это дает одинаковый результат в каждой культуре и работает более эффективно.

См. также раздел

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1