Истинная заслуга синтаксиса понимания становится очевидной, когда кто-то пытается написать этот фрагмент в свободном стиле:
ользую некоторые функциональные вещи в C # и продолжаю зацикливаться на том факте, чтоList.Add
не возвращает обновленный список.
В общем, я хотел бы вызвать функцию для объекта, а затем вернуть обновленный объект.
Например, было бы здорово, если бы C # имел оператор запятой:
((accum, data) => accum.Add(data), accum)
Я мог бы написать свой собственный «оператор запятой», как это:
static T comma(Action a, Func<T> result) {
a();
return result();
}
Похоже, это будет работать, но сайт вызова будет некрасивым. Мой первый пример будет что-то вроде:
((accum, data) => comma(accum.Add(data), ()=>accum))
Достаточно примеров! Какой самый чистый способ сделать это, когда другой разработчик не придет позже и не сморщит нос от запаха кода?