Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Если вы пишете приложение, которое принимает входные данные от пользователя, вы никогда не можете быть уверены в том, какой случай (верхний или нижний) он будет использовать для ввода данных. Часто необходимо привести строки к единому регистру, особенно если они отображаются в пользовательском интерфейсе. В следующей таблице описаны три метода изменения регистра. Первые два метода предоставляют перегрузку, которая принимает культуру.
| Имя метода | Использование |
|---|---|
| String.ToUpper | Преобразует все символы в строку в верхний регистр. |
| String.ToLower | Преобразует все символы в строке в нижний регистр. |
| TextInfo.ToTitleCase | Преобразует строку в регистр заголовка. |
Предупреждение
Методы String.ToUpper и String.ToLower не должны использоваться для преобразования строк с целью их сравнения или проверки на равенство. Дополнительные сведения см. в разделе "Сравнение строк смешанного регистра ".
Сравнение строк смешанного регистра
Чтобы сравнить строки смешанного регистра для определения их упорядочения, вызовите одну из перегрузок String.CompareTo метода с comparisonType параметром и укажите значение либо StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCaseлибо StringComparison.OrdinalIgnoreCase для аргумента comparisonType . Для сравнения, использующего определенные язык и региональные параметры, отличные от текущих, вызовите перегрузку метода с параметрами String.CompareTo и culture, указав значение options в качестве аргумента CompareOptions.IgnoreCase.
Вызовите одну из перегрузок метода String.Equals с параметром comparisonType и укажите значение либо StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, либо StringComparison.OrdinalIgnoreCase для аргумента comparisonType, чтобы сравнить строки смешанного регистра и определить, равны ли они.
Дополнительные сведения см. в рекомендациях по использованию строк.
ToUpperМетод
Метод String.ToUpper изменяет все символы в строке на верхний регистр. В следующем примере строка "Hello World!" преобразуется из смешанного регистра в прописные буквы.
string properString = "Hello World!";
Console.WriteLine(properString.ToUpper());
// This example displays the following output:
// HELLO WORLD!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToUpper())
' This example displays the following output:
' HELLO WORLD!
Предыдущий пример по умолчанию чувствителен к языковым и культурным настройкам; он применяет правила изменения регистра, соответствующие текущим настройкам культуры. Чтобы выполнить изменение регистра без учёта языка и региональных параметров или применить соглашения о регистре определенного языка и региональных параметров, используйте перегрузку метода String.ToUpper(CultureInfo) и укажите значение CultureInfo.InvariantCulture или объект System.Globalization.CultureInfo, представляющий указанный язык и региональные параметры, в параметре culture. Пример того, как использовать метод ToUpper, чтобы изменить регистр без учета культурных различий, см. в разделе «Выполнение изменений регистра без учета культурных различий».
ToLowerМетод
Метод String.ToLower аналогичен предыдущему методу, но вместо этого преобразует все символы в строке в нижний регистр. В следующем примере строка "Hello World!" преобразуется в нижний регистр.
string properString = "Hello World!";
Console.WriteLine(properString.ToLower());
// This example displays the following output:
// hello world!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToLower())
' This example displays the following output:
' hello world!
Предыдущий пример по умолчанию чувствителен к языковым и культурным настройкам; он применяет правила изменения регистра, соответствующие текущим настройкам культуры. Чтобы выполнить изменение регистра без учёта языка и региональных параметров или применить соглашения о регистре определенного языка и региональных параметров, используйте перегрузку метода String.ToLower(CultureInfo) и укажите значение CultureInfo.InvariantCulture или объект System.Globalization.CultureInfo, представляющий указанный язык и региональные параметры, в параметре culture. Пример того, как использовать метод ToLower(CultureInfo), чтобы изменить регистр без учета культурных различий, см. в разделе «Выполнение изменений регистра без учета культурных различий».
ToTitleCaseМетод
TextInfo.ToTitleCase преобразует первую букву каждого слова в верхний регистр, а оставшиеся буквы в нижний. Тем не менее, слова, которые являются полностью верхним регистром, считаются акронимами и не преобразуются.
Метод TextInfo.ToTitleCase учитывает язык и региональные параметры, то есть использует соглашения о регистре определенного языка и региональных параметров. Для вызова метода сначала извлекается TextInfo объект, представляющий соглашения о регистре конкретной культуры из CultureInfo.TextInfo свойства определенной культуры.
В следующем примере каждая строка в массиве передается методу TextInfo.ToTitleCase . Строки включают корректные строки заголовков, а также акронимы. Строки преобразуются в регистр заглавных букв с использованием соглашений о регистре культуры английского языка (США).
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] values = { "a tale of two cities", "gROWL to the rescue",
"inside the US government", "sports and MLB baseball",
"The Return of Sherlock Holmes", "UNICEF and children"};
TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
foreach (var value in values)
Console.WriteLine($"{value} --> {ti.ToTitleCase(value)}");
}
}
// The example displays the following output:
// a tale of two cities --> A Tale Of Two Cities
// gROWL to the rescue --> Growl To The Rescue
// inside the US government --> Inside The US Government
// sports and MLB baseball --> Sports And MLB Baseball
// The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
// UNICEF and children --> UNICEF And Children
Imports System.Globalization
Module Example
Public Sub Main()
Dim values() As String = {"a tale of two cities", "gROWL to the rescue",
"inside the US government", "sports and MLB baseball",
"The Return of Sherlock Holmes", "UNICEF and children"}
Dim ti As TextInfo = CultureInfo.CurrentCulture.TextInfo
For Each value In values
Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value))
Next
End Sub
End Module
' The example displays the following output:
' a tale of two cities --> A Tale Of Two Cities
' gROWL to the rescue --> Growl To The Rescue
' inside the US government --> Inside The US Government
' sports and MLB baseball --> Sports And MLB Baseball
' The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
' UNICEF and children --> UNICEF And Children
Обратите внимание, что, хотя метод TextInfo.ToTitleCase учитывает культурные особенности, он не предоставляет лингвистически правильные правила использования заглавных букв. Например, в предыдущем примере метод преобразует "сказку двух городов" в "Сказка о двух городах". Тем не менее, лингвистически корректное название для en-US культуры называется "Повесть о двух городах".