Aracılığıyla paylaş


.NET'te büyük/küçük harf değiştirme

Bir kullanıcıdan gelen girişleri kabul eden bir uygulama yazarsanız, verileri girmek için hangi büyük/küçük harf (üst veya alt) kullanacaklarından asla emin olamazsınız. Genellikle, özellikle bunları kullanıcı arabiriminde görüntülüyorsanız dizelerin tutarlı bir şekilde yazılmış olmasını istersiniz. Aşağıdaki tabloda, büyük/küçük harf değiştirme yöntemleri açıklanmaktadır. İlk iki yöntem, bir kültürü kabul eden bir aşırı yükleme sağlar.

Yöntem adı Kullan
String.ToUpper Dizedeki tüm karakterleri büyük harfe çevirir.
String.ToLower Dizedeki tüm karakterleri küçük harfe dönüştürür.
TextInfo.ToTitleCase Dizeyi başlık biçimine dönüştürür.

Uyarı

String.ToUpper ve String.ToLower yöntemleri, dizeleri karşılaştırmak veya eşitlik açısından test etmek için dizeleri dönüştürmek için kullanılmamalıdır. Daha fazla bilgi için Karma büyük/küçük harf dizelerini karşılaştırma bölümüne bakın.

Farklı büyüklükteki dizeleri karşılaştır

Sıralamalarını belirlemek üzere karma büyük/küçük harf dizelerini karşılaştırmak için, yönteminin aşırı yüklemelerinden String.CompareTo birini bir comparisonType parametreyle çağırın ve bağımsız değişken için StringComparison.CurrentCultureIgnoreCase , StringComparison.InvariantCultureIgnoreCaseveya StringComparison.OrdinalIgnoreCase değerini comparisonTypesağlayın. Geçerli kültür dışında belirli bir kültürün kullanıldığı bir karşılaştırma için, culture ve options parametreleriyle String.CompareTo yönteminin bir aşırı yüklemesini çağırın ve CompareOptions.IgnoreCase değerini options bağımsız değişkeni olarak sağlayın.

Eşit olup olmadıklarını belirlemek için karışık büyük/küçük harfli dizeleri karşılaştırırken, yöntemin aşırı yüklemelerinden birini bir comparisonType parametreyle çağırın ve comparisonType argümanı için StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase veya StringComparison.OrdinalIgnoreCase değerini sağlayın.

Daha fazla bilgi için bkz. Dizeleri kullanmaya yönelik en iyi yöntemler.

ToUpper yöntemi

yöntemi, String.ToUpper bir dizedeki tüm karakterleri büyük harfle değiştirir. Aşağıdaki örnek, "Hello World!" dizesini küçük ve büyük harf karışımından büyük harfe dönüştürür.

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!

Yukarıdaki örnek varsayılan olarak kültüre duyarlıdır; geçerli kültürün büyük/küçük harf kurallarını uygular. Kültüre duyarsız bir büyük/küçük harf değişikliği gerçekleştirmek veya belirli bir kültürün büyük/küçük harf kurallarını uygulamak için yöntemi aşırı yüklemesini String.ToUpper(CultureInfo) kullanın ve parametresine belirtilen kültürü temsil eden veya CultureInfo.InvariantCulture nesnesinin System.Globalization.CultureInfo değerini culture sağlayın. Kültüre duyarsız büyük/küçük harf değişikliği gerçekleştirmek için ToUpper yöntemi kullanılarak yapılan bir örnek görmek için bkz. Kültüre duyarsız büyük/küçük harf değişiklikleri gerçekleştirme.

ToLower yöntemi

String.ToLower yöntemi önceki yönteme benzer, ancak bunun yerine dizedeki tüm karakterleri küçük harfe dönüştürür. Aşağıdaki örnek "Hello World!" dizesini küçük harfe dönüştürür.

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!

Yukarıdaki örnek varsayılan olarak kültüre duyarlıdır; geçerli kültürün büyük harf kullanımı kurallarını uygular. Kültüre duyarsız bir büyük/küçük harf değişikliği gerçekleştirmek veya belirli bir kültürün büyük/küçük harf kurallarını uygulamak için String.ToLower(CultureInfo) yöntem aşırı yüklemesini kullanarak gerçekleştirin ve belirtilen kültürü temsil eden CultureInfo.InvariantCulture nesnesi veya System.Globalization.CultureInfo değerini culture parametresine sağlayın. Kültüre duyarsız büyük/küçük harf değişikliği gerçekleştirmek için ToLower(CultureInfo) yöntemini nasıl kullanacağınızı gösteren bir örnek için, Kültüre duyarsız büyük/küçük harf değişiklikleri gerçekleştirme bölümüne bkz.

ToTitleCase yöntemi

her TextInfo.ToTitleCase sözcüğün ilk karakterini büyük harfe, kalan karakterleri küçük harfe dönüştürür. Ancak, tamamen büyük harfli sözcüklerin kısaltma olduğu varsayılır ve dönüştürülmez.

TextInfo.ToTitleCase yöntemi kültüre duyarlıdır; yani belirli bir kültürün harf biçimlendirme kurallarını kullanır. Belirli bir kültürün yöntemini çağırmak için, önce o kültürün TextInfo büyük/küçük harf kurallarını temsil eden nesneyi, o kültürün CultureInfo.TextInfo özelliğinden alırsınız.

Aşağıdaki örnek, bir dizideki her dizeyi yöntemine TextInfo.ToTitleCase geçirir. Dizeler hem doğru başlık dizelerini hem de kısaltmaları içerir. Dizeler, İngilizce (ABD) kültürünün büyük/küçük harf kuralları kullanılarak başlık büyük/küçük harfe dönüştürülür.

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

Kültür duyarlı olmasına rağmen, TextInfo.ToTitleCase yöntemi dilbilimsel olarak geçerli doğru büyük/küçük harf kuralları sunmadığını unutmayın. Örneğin, önceki örnekte yöntemi "iki şehrin masalı"nı "İki Şehrin Hikayesi"ne dönüştürür. Ancak, en-US kültürü için dilsel olarak doğru olan başlık biçimi "İki Şehrin Hikayesi"dir.

Ayrıca bakınız