Existe C # idiomático equivalente ao operador de vírgula do

Estou usando algumas coisas funcionais em c # e continuo preso ao fato de queList.Add não retorna a lista atualizada.

Em geral, gostaria de chamar uma função em um objeto e retornar o objeto atualizad

or exemplo, seria ótimo se o C # tivesse um operador de vírgula:

((accum, data) => accum.Add(data), accum)

Eu poderia escrever meu próprio "operador de vírgula" assim:

static T comma(Action a, Func<T> result) {
    a();
    return result();
}

Parece que funcionaria, mas o site de chamadas seria feio. Meu primeiro exemplo seria algo como:

((accum, data) => comma(accum.Add(data), ()=>accum))

Exemplos suficientes! Qual é a maneira mais limpa de fazer isso sem que outro desenvolvedor apareça mais tarde e torça o nariz com o cheiro do código?

questionAnswers(7)

yourAnswerToTheQuestion