2013-11-25 60 views
-1

以下函數可以從字符串中返回9位數字。如何獲取部分字符串

我的問題是如果我通過abc =「123456」這意味着它的低於9位數。它顯示錯誤。我需要從給定字符串的最大9位數。如果我傳遞六位數字,我需要六位數字字符串的錯誤。

public string test() 
{ 
    string abc="asdhfjsdfkjhfiovjalksdhafbvklxkjszjhd"; 
    return abc.Substring(0, 9); 
} 
+3

return abc.Length <9? abc:abc.Substring(0,9); –

+0

雖然人們不喜歡三元運算符可能會阻止它成爲最高評分的答案 –

+2

@AdamKewley人們不喜歡它嗎?我用它所有的時間。 – DGibbs

回答

2
if (abc.Length < 9) 
    return abc; 
else 
    return abc.Substring(0, 9); 
7

試試這個:

abc.Substring(0, Math.Min(9, abc.Length)); 

當你的字符串會比9短它將返回完整的字符串

1

另一種方式來做到這一點:

string newStr = new string(abc.Take(9).ToArray()); 

但使用Substring更好。