Здравствуйте, Lloyd, Вы писали:
L>Есть у тебя список, надо вернут все элементы, удовлетворяюшие условию.
L>Если ты не знаком с функциональными фичами шарпа, то у тебя родится тчо-то вроде
Вот более удачный пример. В шарпе есть такая функция string.Join, которая благодаря гениальным программистам из МС принимает только массив строк и ничего другого. В результате при использовании этой функции типичным является такой код:
List<string> itemsAsString = new List<string>();
foreach (int item in items)
itemsAsString.Add(item.ToString());
return string.Join(", ", itemsAsString.ToArray());
Объясни сколько языков нужно знать для того, чтобы понять, что весь код относящийся к созданию промежуточного массива строк является мусорным?
Также объясни сколько языков нужно знать для того, чтобы понять, что даже в C# 1.0 можно было написать функцию: string MyJoin(string separator, string format, IEnumerable items), которая позволила бы избавиться от мусорного кода, хотя бы в простых (но очень распространенных) случаях?