2013-11-25 61 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更好。