Я считаю, что такой ответ вы искали будет выглядеть следующим образом:
var x = new string[] {"car", "Collection", "Limited", "stackoverflow" };
var output = x.Select(word => String.Join("", word.Take(5).ToList()));
Переменная «Выход» содержит результат :
car
Colle
Limit
stack
a и строка «автомобиль» не вызывает исключения.
Но в то время как присоединиться и Take (5) работает, это как правило, гораздо проще в использовании, как это было предложено в другой ответ,
subString = word.Substring(0,Math.Min(5,word.Length));
Последний вариант является более читаемый человеком и легкий, хотя, безусловно, небольшой коэффициент прохлады, чтобы использовать Linq для строки, чтобы взять первые пять символов, без необходимости проверять длину строки.
Вы получаете исключение, так как автомобиль длиной всего 3 символа, и вы запрашиваете подстроку 5 символов. –
да, я знаю. Ситуация намного сложнее, и это, о чем я вам рассказал, имеет самую большую проблему, из-за которой эта сложная ситуация :) – user278618
Как круто, как LINQ (и я действительно думаю, что это круто), как его использовать для этого лучшего/более читаемого чем «старомодная» петля foreach? – JMarsch