Неясно, будете ли вы всегда иметь дело с числовыми значениями. Если вы хотите избежать разбора строк как чисел, вы можете попробовать что-то вроде этого:
public static string TrimTo(string str, int maxLength)
{
if (str.Length <= maxLength)
{
return str;
}
return str.Substring(0, maxLength);
}
Это урезает предоставленную строку до шести символов, если она длиннее шести. Это кажется тем, что вы хотите, но (как указывает Кис) сделает что-то неожиданное со строкой типа "1234567.890".
Условное предложение необходимо здесь, потому что String.Substring
будет жаловаться, если второй индекс находится за пределами строки (если строка короче maxLength
, другими словами).
(Если вы когда-либо играли с C # 3.0 методами расширения , вы могли бы признать это, слегка измененное выше, отличной возможностью для одного: string trimmed = s.TrimTo(10);
)