Szukałem sposobu na przekształcenie każdego elementu IEnumerable w coś innego za pomocą funkcji mapowania (w sposób zgodny z Linq), ale nic nie znalazłem.
Na (bardzo prosty) przykład powinien być w stanie zrobić coś takiego
IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 };
IEnumerable<string> strings = integers.Transform(i => i.ToString());
Ale nic nie znalazłem. Chodzi mi o to, że napisanie metody rozszerzającej, która to osiąga (w zasadzie wszystko, czego wymaga, to zawinięcie modułu wyliczającego źródła do nowej klasy, a następnie napisanie trochę standardowego kodu do delegowania wywołań do niego), ale spodziewałbym się to jest dość elementarna operacja, a pisanie jej samemu czuje się jak wynalezienie koła na nowo - nie mogę pozbyć się wrażenia, że może istnieć wbudowany sposób, którego powinienem użyć, a po prostu byłem zbyt ślepy, aby zobaczyć to.
Więc ... czy jest coś w Linq, co pozwala mi zrobić to, co opisałem powyżej?