2015-02-25 3 views
0

Я пишу программу, которая ограничивает количество символов в выводе. По сути, это идентификатор студента, и теперь я уверен, как подсчитать только определенное количество символов в строке. Мой код выглядит так до сих пор.Как ограничить количество символов, которые могут быть в строке?

string firstname, middleinitial, lastname,yearofentry; 
     int year; 
     Console.WriteLine("Please enter your first name."); 
     firstname = Console.ReadLine(); 

     Console.WriteLine("Please enter your middle initial."); 
     middleinitial = Console.ReadLine(); 

     Console.WriteLine("Please enter your last name."); 
     lastname = Console.ReadLine(); 

     Console.WriteLine("Please enter your year of entry."); 
     yearofentry = Console.ReadLine(); 
     year = (Convert.ToInt32(yearofentry)-2000); 



     Console.WriteLine(firstname +middleinitial+ lastname + year + "@mail.edu"); 
    } 
} 

}

+1

Каковы конкретные пределы, которые вы хотите добавить? –

+0

См. Http://stackoverflow.com/questions/5557889/console-readline-max-length –

+0

Мне нужно убедиться, что используются только первые 7 символов фамилии и используются последние два года –

ответ

0

Просто читайте в полной строке, TrimStart(), а затем использовать подстроки(), чтобы получить необходимые детали

Console.WriteLine("Please enter your last name."); 
lastname = Console.ReadLine().TrimStart(); 
var substrLen = Math.Min(lastname.Length, 7); 
lastname = lastname.Substring(0, substrLen); 

В последнем WriteLine() позвоню можно использовать .ToString («00»), чтобы получить 2 цифры вам требуется

Console.WriteLine(firstname + middleinitial + lastname + year.ToString("00") + "@mail.edu"); 

вы должны убедиться, что ваши пользователи вступают ставку значения ween 2000 и 2099, хотя также.

+1

Я думаю, что substring() выдает исключение, когда длина строки слишком короткая для запрошенной подстроки, cf. https://msdn.microsoft.com/en-us/library/aka44szs%28v=vs.110%29.aspx. Поэтому длина подстроки должна быть ограничена входной длиной. –

+0

Хорошо, я обновил его – reggaeguitar

Смежные вопросы