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