Истинная заслуга синтаксиса понимания становится очевидной, когда кто-то пытается написать этот фрагмент в свободном стиле:

ользую некоторые функциональные вещи в 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))

Достаточно примеров! Какой самый чистый способ сделать это, когда другой разработчик не придет позже и не сморщит нос от запаха кода?

Ответы на вопрос(7)

Ваш ответ на вопрос