Bagikan melalui


Mengubah huruf besar/kecil di .NET

Jika Anda menulis aplikasi yang menerima input dari pengguna, Anda tidak akan pernah dapat yakin penentuan huruf apa (atas atau bawah) yang akan mereka gunakan untuk memasukkan data. Sering kali, Anda ingin string ditentukan hurufnya secara konsisten, terutama jika Anda menampilkannya di antarmuka pengguna. Tabel berikut ini menjelaskan tiga metode pengubahan huruf besar/kecil. Dua metode pertama memberikan overload yang menerima budaya.

Nama metode Menggunakan
String.ToUpper Mengonversi semua karakter dalam string menjadi huruf besar.
String.ToLower Mengonversi semua karakter dalam string menjadi huruf kecil.
TextInfo.ToTitleCase Mengonversi string ke huruf besar.

Peringatan

Metode String.ToUpper dan String.ToLower tidak boleh digunakan untuk mengonversi string untuk membandingkannya atau mengujinya untuk kesetaraan. Untuk informasi selengkapnya, lihat bagian Membandingkan string huruf besar/kecil campuran.

Membandingkan string penentuan huruf campuran

Untuk membandingkan string penentuan huruf campuran untuk menentukan urutannya, panggil salah satu overload String.CompareTo metode dengan comparisonType parameter, dan berikan nilai baik StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, atau StringComparison.OrdinalIgnoreCase untuk argumen comparisonType. Untuk perbandingan menggunakan budaya tertentu selain budaya saat ini, panggil overload String.CompareTo metode dengan culture parameter dan options, dan berikan nilai CompareOptions.IgnoreCase sebagai options argumen.

Untuk membandingkan string huruf besar/kecil campuran guna menentukan apakah keduanya sama, panggil salah satu overload metode String.Equals dengan parameter comparisonType, dan berikan nilai StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, atau StringComparison.OrdinalIgnoreCase untuk argumen comparisonType.

Untuk informasi selengkapnya, lihat Praktik terbaik untuk menggunakan string.

metode ToUpper

Metode String.ToUpper mengubah semua karakter dalam string menjadi huruf besar. Contoh berikut mengonversi string "Halo Dunia!" dari penentuan huruf campuran menjadi huruf besar.

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!

Contoh sebelumnya peka terhadap budaya secara default; menerapkan konvensi kapital dari budaya saat ini. Untuk melakukan perubahan huruf besar/kecil yang peka terhadap budaya atau untuk menerapkan konvensi kapital budaya tertentu, gunakan overload metode String.ToUpper(CultureInfo) dan berikan nilai CultureInfo.InvariantCulture atau objek System.Globalization.CultureInfo yang mewakili budaya tertentu ke parameter culture. Untuk contoh yang menunjukkan cara menggunakan metode ToUpper untuk melakukan perbandingan budaya yang tidak sensitif, lihat Melakukan perubahan penentuan huruf yang tidak sensitif budaya.

metode ToLower

Metode String.ToLower ini mirip dengan metode sebelumnya, tetapi sebaliknya mengonversi semua karakter dalam string menjadi huruf kecil. Contoh berikut mengonversi string "Halo Dunia!" menjadi huruf kecil.

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!

Contoh sebelumnya peka terhadap budaya secara default; menerapkan konvensi kapital dari budaya saat ini. Untuk melakukan perubahan huruf besar/kecil yang peka terhadap budaya atau untuk menerapkan konvensi kapital budaya tertentu, gunakan overload metode String.ToLower(CultureInfo) dan berikan nilai CultureInfo.InvariantCulture atau objek System.Globalization.CultureInfo yang mewakili budaya tertentu ke parameter culture. Untuk contoh yang menunjukkan cara menggunakan metode ToLower(CultureInfo) untuk melakukan perbandingan budaya yang tidak sensitif, lihat Melakukan perubahan penentuan huruf yang tidak sensitif budaya.

metode ToTitleCase

TextInfo.ToTitleCase mengonversi karakter pertama dari setiap kata menjadi huruf besar dan karakter yang tersisa menjadi huruf kecil. Namun, kata-kata yang sepenuhnya huruf besar diasumsikan sebagai akronim dan tidak dikonversi.

Metode TextInfo.ToTitleCase ini sensitif terhadap budaya; yaitu, menggunakan konvensi kapital dari budaya tertentu. Untuk memanggil metode ini, Pertama-tama Anda mengambil TextInfo objek yang mewakili konvensi penentuan huruf dari budaya tertentu dari CultureInfo.TextInfo properti budaya tertentu.

Contoh berikut meneruskan setiap string dalam array ke metode TextInfo.ToTitleCase. String menyertakan string judul yang tepat serta akronim. String dikonversi menjadi huruf besar/kecil dengan menggunakan konvensi huruf besar/kecil kultur bahasa Inggris (Amerika Serikat).

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("{0} --> {1}", 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

Perhatikan bahwa meski sensitif terhadap budaya, TextInfo.ToTitleCase metode ini tidak menyediakan aturan penentuan huruf yang benar secara linguistik. Misalnya, dalam contoh sebelumnya, metode mengonversi "kisah dua kota" menjadi "A Tale Of Two Cities". Namun, penentuan huruf judul yang benar secara linguistik untuk budaya en-AS adalah "A Tale of Two Cities."

Lihat juga