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

  • DominicFear

    DominicFear

    30 Kasım 2006
  • picster

    picster

    20 NİSAN 2006
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013