He estado buscando una forma de transformar cada elemento de un IEnumerable en otra cosa usando una función de mapeo (de una manera compatible con Linq) pero no he encontrado nada.
Para un ejemplo (muy simple), debería poder hacer algo como
IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 };
IEnumerable<string> strings = integers.Transform(i => i.ToString());
Pero no he encontrado nada. Quiero decir, es bastante sencillo escribir un método de extensión que lo haga (básicamente, todo lo que requiere es envolver el enumerador de origen en una nueva clase y luego escribir un poco de código repetitivo para delegar las llamadas), pero habría esperado Esta es una operación bastante elemental, y escribirla yo mismo se siente como reinventar la rueda: no puedo evitar la sensación de que puede haber una forma incorporada que debería usar, y he estado demasiado ciego para ver eso.
Entonces ... ¿hay algo en Linq que me permita hacer lo que describí anteriormente?