SORU
20 Temmuz 2010, Salı


Nedir .NET'In Dize.Bunu normale?

MSDN article on String.Normalize devletler sadece:

Döner belirli bir Unicode normalleştirme formunda olan yeni bir dize.

Ve bazen bir "atıfta" . Unicode normalleştirme biçimi C

Sadece merak ediyorum, Bu ne anlama geliyor? Bu nasıl gerçek hayatta işlev yararlıdır?

CEVAP
20 Temmuz 2010, Salı


Desenli mektup nasıl gösterileceğini form C ve D formu arasındaki tek fark: C form-mektup-aksan codepoint bir tek, kullanan D harfi içine ayırır ve aksanı oluşturur.

Yan etkisi bu mümkün kolayca oluşturmak için yapan bir "aksan" kaldırma yöntemi.

    public static string RemoveAccents(string input)
    {
        return new string(
            input
            .Normalize(System.Text.NormalizationForm.FormD)
            .ToCharArray()
            .Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
            .ToArray());
        // the normalization to FormD splits accented letters in accents letters
        // the rest removes those accents (and other non-spacing characters)
    }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011
  • UKF

    UKF

    2 Aralık 2009