一千萬個為什麽

搜索

如何截斷.NET字符串?


我想截斷一個字符串,使其長度不超過給定值。我正在寫一個數據庫表,並希望確保我寫的值符合列的數據類型的約束。

例如,如果我能寫下面的內容會很好:

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

不幸的是,這引發了異常,因為 maxLength 通常超出了字符串 value 的邊界。當然,我可以編寫如下的函數,但我希望這樣的東西已經存在。

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

執行此任務的難以捉摸的API在哪裏?有嗎?

最佳答案

There isn't a Truncate() method on string, unfortunately. You have to write this kind of logic yourself. What you can do, however, is wrap this in an extension method so you don't have to duplicate it everywhere:

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); 
    }
}

現在我們可以寫:

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

轉載註明原文: 如何截斷.NET字符串?

猜你喜歡