Existe C # idiomático equivalente al operador de coma de C?
Estoy usando algunas cosas funcionales en C # y sigo estancado en el hecho de queList.Add
no devuelve la lista actualizada.
En general, me gustaría llamar a una función en un objeto y luego devolver el objeto actualizado.
Por ejemplo, sería genial si C # tuviera un operador de coma:
((accum, data) => accum.Add(data), accum)
Podría escribir mi propio "operador de coma" como este:
static T comma(Action a, Func<T> result) {
a();
return result();
}
Parece que funcionaría, pero el sitio de la llamada sería feo. Mi primer ejemplo sería algo como:
((accum, data) => comma(accum.Add(data), ()=>accum))
¡Suficientes ejemplos! ¿Cuál es la forma más limpia de hacer esto sin que otro desarrollador venga más tarde y arrugue su nariz ante el olor del código?