Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud napíšete aplikaci, která přijímá vstup od uživatele, nikdy si nejste jistí, jaký případ (horní nebo dolní) použije k zadání dat. Často chcete, aby měly řetězce konzistentní velikost písmen, zejména pokud je zobrazujete v uživatelském rozhraní. Následující tabulka popisuje tři metody změny velikosti písmen. První dvě metody poskytují přetížení, které přijímá kulturu.
| Název metody | Používání |
|---|---|
| String.ToUpper | Převede všechny znaky v řetězci na velká písmena. |
| String.ToLower | Převede všechny znaky v řetězci na malá písmena. |
| TextInfo.ToTitleCase | Převede řetězec na velká písmena názvu. |
Výstraha
Metody String.ToUpper a String.ToLower by neměly být použity k převodu řetězců za účelem jejich porovnávání nebo testování rovnosti. Další informace najdete v části Porovnání řetězců smíšených případů .
Porovnání řetězců smíšených případů
Chcete-li porovnat řetězce s různými velikostmi písmen k určení jejich pořadí, zavolejte jednu z přetížených verzí metody String.CompareTo s parametrem comparisonType a zadejte hodnotu buď StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase nebo StringComparison.OrdinalIgnoreCase pro argument comparisonType. Pro porovnání, které používá specifickou jazykovou verzi jinou než současnou, zavolejte přetíženou metodu String.CompareTo s parametry culture a options a použijte hodnotu CompareOptions.IgnoreCase jako argument options.
Chcete-li porovnat řetězce smíšeného případu k určení, zda jsou stejné, zavolejte jedno z přetížení String.Equals metody s parametrem comparisonType a zadejte hodnotu buď StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCasenebo StringComparison.OrdinalIgnoreCase pro comparisonType argument.
Další informace najdete v tématu Osvědčené postupy pro používání řetězců.
metoda ToUpper
Metoda String.ToUpper změní všechny znaky v řetězci na velká písmena. Následující příklad převede řetězec "Hello World!" ze smíšeného případu na velká písmena.
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!
Předchozí příklad je ve výchozím nastavení citlivý na kulturní rozdíly; používá konvence psaní velkých písmen v aktuální jazykové verzi. Chcete-li provést změnu velikosti písmen bez ohledu na jazykové specifikace, nebo použít konvence psaní velkých a malých písmen pro konkrétní kulturu, použijte přetíženou metodu String.ToUpper(CultureInfo) a zadejte hodnotu CultureInfo.InvariantCulture nebo objekt System.Globalization.CultureInfo, který představuje zadanou kulturu pro parametr culture. Příklad, který ukazuje, jak použít metodu ToUpper k provedení změny velikosti písmen nezávislé na jazykové verzi, podívejte se na Provádění změny velikosti písmen nezávislé na jazykové verzi.
metoda ToLower
Metoda String.ToLower je podobná předchozí metodě, ale místo toho převede všechny znaky v řetězci na malá písmena. Následující příklad převede řetězec "Hello World!" na malá písmena.
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!
Předchozí příklad je ve výchozím nastavení citlivý na kulturní rozdíly; používá konvence psaní velkých písmen v aktuální jazykové verzi. Chcete-li provést změnu velikosti písmen bez ohledu na jazykové specifikace, nebo použít konvence psaní velkých a malých písmen pro konkrétní kulturu, použijte přetíženou metodu String.ToLower(CultureInfo) a zadejte hodnotu CultureInfo.InvariantCulture nebo objekt System.Globalization.CultureInfo, který představuje zadanou kulturu pro parametr culture. Příklad, který ukazuje, jak použít metodu ToLower(CultureInfo) k provedení změny velikosti písmen nezávislé na jazykové verzi, podívejte se na Provádění změny velikosti písmen nezávislé na jazykové verzi.
metoda ToTitleCase
Převede TextInfo.ToTitleCase první znak každého slova na velká a zbývající znaky na malá písmena. Předpokládá se však, že slova, která jsou zcela psána velkými písmeny, jsou zkratky a nejsou převáděny.
Metoda TextInfo.ToTitleCase je citlivá na kulturu. To znamená, že používá konvence používání velkých a malých písmen konkrétní kultury. Chcete-li volat metodu, nejprve načtěte TextInfo objekt, který představuje pravidla zápisu pro konkrétní kulturní prostředí z CultureInfo.TextInfo vlastnosti konkrétního kulturního prostředí.
Následující příklad předá každý řetězec v poli metodě TextInfo.ToTitleCase . Řetězce obsahují správné názvy řetězců i zkratky. Řetězce se převedou na velká písmena pomocí konvencí písmen anglické jazykové verze (SPOJENÉ STÁTY).
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
Všimněte si, že i když je citlivá na kulturní aspekty, metoda TextInfo.ToTitleCase neposkytuje lingvisticky správná pravidla pro psaní malých a velkých písmen. Například v předchozím příkladu metoda převede "příběh dvou měst" na "A Tale Of Two Cities". Nicméně lingvisticky správné psaní velkých písmen v nadpisu pro kulturu en-US je "Příběh dvou měst."