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

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • Yanko Kral

    Yanko Kral

    8 HAZİRAN 2006