Napotkałem czysto hipotetycznej problem, który czuje się jak to ma proste rozwiązanie, jeśli znajdę właściwą metodę linq ...Dodawanie/zsumowanie dwóch tablic
Mam dwie tablice wskazówki i wiem, że są ten sam rozmiar. Chcę utworzyć trzecią tablicę o tym samym rozmiarze, gdzie elementy w trzeciej tablicy są sumą elementów w pierwszych dwóch tablicach w odpowiedniej pozycji.
Poniżej znajduje się metoda, która powinna pokazać, co chcę zrobić.
public static int[] AddArrays(int[] a, int[] b)
{
int[] newArray = new int[a.Length];
for (int i = 0; i<a.Length; i++)
{
newArray[i]=a[i]+b[i];
}
return newArray;
}
Czy istnieją jakieś metody Linq, że mogę po prostu użyć jak
return a.DoStuff(b, (x,y) => x+y)
czy coś takiego?
Muszę zauważyć, że to prawdopodobnie należy do kategorii zadań domowych, ponieważ pierwotny problem pochodzi z witryny, na którą patrzyłem (chociaż nie mogę znaleźć bezpośredniego linku do problemu), a nie jako pytanie, którego potrzebuję do praca lub cokolwiek.
Jeśli nie istnieje prosta metoda, to jaki jest najlepszy sposób Linqy? array.each
wydaje się mieć problem polegający na tym, że nie jest w stanie zindeksować drugiej macierzy, łatwo dodając wartości do iteracji, prowadząc mnie do zastanowienia się, czy Linq byłby jakąkolwiek pomocą w tej sytuacji ...
FYI, to jest zwykle nazywane „zip” (analogia zamek powinno być oczywiste) i LINQ ma wbudowane wsparcie dla niego, z wyjątkiem być może poprzez 'SelectMany'./EDIT Wygląda na to, że nie jest już prawdą w obecnej wersji. –
Zip tych ludzi odpowiedział, że jest dostępna tylko na .NET 4 – Zenwalker
@zenwalker: tak i dlatego lepiej uaktualnić wersję Framework tak szybko, jak to możliwe, bardzo fajne funkcje są;) – sll