Есть ли способ решить следующую задачу в одну строку? или еще более компактно
Ввести с клавиатуры строку, если длина строки больше 5, то вывести подстроку до первого пробела.
var str = Console.ReadLine();
Console.WriteLine(str.Length > 5 ? str.Substring(0, str.IndexOf(' ')) : "");
Можно замену по регулярке применить: https://ideone.com/TcBhzA https://ideone.com/ncoo2z
Console.WriteLine(Regex.Replace(Console.ReadLine(), "^(?=.{6})([^ ]*)|.*", "$1"));
Немного linq: https://ideone.com/TkBCAq https://ideone.com/MiTNWU
Console.WriteLine(Enumerable.Repeat(Console.ReadLine(), 1).FirstOrDefault(s => s.Length > 5)?.Split(' ')[0]);
Спасибо @Grundy
if(Console.ReadLine() is string s && s.length > 5) Console.WriteLine(s.Substring(0, s.IndexOf(' ')));
а как же Linq?
Console.WriteLine(new string(Console.ReadLine().TakeWhile((c, i)=>i < 5 || c!=' ').ToArray()));
Продвижение своими сайтами как стратегия роста и независимости