2013-04-03 30 views

回答

0

沒有任何東西等價,沒有#

可以接近使用SubstringMath.Min

String.Format("{0,5}", stringValue.Substring(0, Math.Min(stringValue.Length, 5))); 
+0

我覺得這是最好的選擇。 如果我重做它是這樣的: 'String.Format(「{0,5}」,StringValue).Substring(0,5)' 我不需要Math.Min()。 – Paresh138

0

沒有格式建立,以滿足您的需要。儘量定義自定義擴展方法,並用它

public static class StringExtensions 
{ 
    public static string TruncateTo(this string str, int maxCharsCount) 
    { 
     if (str.Length > maxCharsCount) 
      return str.Substring(0, maxCharsCount); 
     return str; 
    } 
} 

現在你可以

Console.WriteLine("{0,3}", "long long long value".TruncateTo(3)); 
Console.WriteLine("{0,7}", "short".TruncateTo(7)); 

會打印:

lon 
    short 
1

試試這個,

我覺得stringValue的是你的字符串變量,如果是這樣的話代碼將是

stringValue = (stringValue.Length < 5) ? stringValue : stringValue.Substring(0,4); 
+0

@Ilya Ivanov我修改了代碼。現在它不會通過例外 –

0

下面是一個擴展方法,應該做你想做的。您可以將最大長度和填充字符更改爲您喜歡的字符,但默認值分別爲5-

public static string ToCustomSprintF(this string initial, int max_length = 5, char padChar = '-') 
{ 
    int len = initial.Length; 

    if (len == max_length) 
     return initial; 
    else if (len < max_length) 
     return initial.PadRight(len + (max_length - len), padChar); 

    return initial.Substring(0, max_length); 

} 

然後,您可以使用它作爲正常

string str = "1234".ToCustomSprintF(); 
//output would be 1234- 
相關問題