“Упростить” код до 1 строки

187
24 декабря 2019, 06:30

Есть ли способ решить следующую задачу в одну строку? или еще более компактно

Ввести с клавиатуры строку, если длина строки больше 5, то вывести подстроку до первого пробела.

var str = Console.ReadLine();
Console.WriteLine(str.Length > 5 ? str.Substring(0, str.IndexOf(' ')) : "");
Answer 1

Можно замену по регулярке применить: https://ideone.com/TcBhzA https://ideone.com/ncoo2z

Console.WriteLine(Regex.Replace(Console.ReadLine(), "^(?=.{6})([^ ]*)|.*", "$1"));
Answer 2

Немного linq: https://ideone.com/TkBCAq https://ideone.com/MiTNWU

Console.WriteLine(Enumerable.Repeat(Console.ReadLine(), 1).FirstOrDefault(s => s.Length > 5)?.Split(' ')[0]);
Answer 3

Спасибо @Grundy

if(Console.ReadLine() is string s && s.length > 5) Console.WriteLine(s.Substring(0, s.IndexOf(' ')));
Answer 4

а как же Linq?

Console.WriteLine(new string(Console.ReadLine().TakeWhile((c, i)=>i < 5 || c!=' ').ToArray()));
READ ALSO
Как использовать `FastSearchLibrary` библиотеку?

Как использовать `FastSearchLibrary` библиотеку?

Как вместо этого кода использовать FastSearchLibrary библиотеку? Просто этот код не ищет на диске С, даже если запускаю от имени администратора!...

242
Передача примитивного типа в делегат

Передача примитивного типа в делегат

Не первый раз встречаю подобный пример кода в сети:

187
Подключение к удаленной БД без MySql

Подключение к удаленной БД без MySql

В моем учебном заведении нет MySql, а лишь стандартные библиотекиКаким образом можно подключиться к удаленной БД на хосте, используя стандартные...

197
Ошибка под отладкой `The name &#39;t&#39; doe not exist in current context`

Ошибка под отладкой `The name 't' doe not exist in current context`

Столкнулся с проблемой, что под отладкой не могу посмотреть содержимое переменных, например List<int> t1 int[] t2 и int t3Сообщается ошибка: The name 't' doe not exist in current...

183