SORU
5 Mayıs 2010, ÇARŞAMBA


Nasıl bir kesecek .NET dize?

Ben muhtemelen basit bir çözümü vardır böyle bir soru için özür dilerim, ama gariptir, bu sorun için kısa bir APİ bulamadım.

Aslında, bir dize uzunluğu daha uzun belirli bir değerden daha böyle kesecek şekilde istiyorum. Bir veritabanı tablosu için yazıyorum ve yazdığım değerler sütunun veri türü kısıtlaması karşıladığından emin olmak istiyorum.

Örneğin, eğer aşağıdaki: yazsam iyi olurdu

string NormalizeLength(string value, int maxLength)
{
    return value.Substring(0, maxLength);
}

Ne yazık ki, bu maxLength genellikle dize sınırları value aştığı için bir özel durum oluşturur. Tabii ki, aşağıdaki gibi bir fonksiyon yazabilirim, ama zaten var böyle bir şey umuyordum.

string NormalizeLength(string value, int maxLength)
{
    return value.Length <= maxLength ? value : value.Substring(0, maxLength);
} 

Bu görevi yerine getiren zor API? Kimse yok mu?

CEVAP
5 Mayıs 2010, ÇARŞAMBA


String Truncate() bir yöntem, ne yazık ki yok.Mantık bu tür yaz Kendin yapmalısın. Ne yapabilirsiniz, ancak, her yerde yinelenen gerek yok yani uzatma yöntemi bu işi

public static class StringExt
{
    public static string Truncate(this string value, int maxLength)
    {
        if (string.IsNullOrEmpty(value)) return value;
        return value.Length <= maxLength ? value : value.Substring(0, maxLength); 
    }
}

Şimdi yazabiliriz:

var someString = "...";
someString = someString.Truncate(2);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • Noam Erez

    Noam Erez

    3 NİSAN 2012
  • Tomas N

    Tomas N

    14 Kasım 2010