Chciałbym mieć ładny, czysty kod LINQ, który może uzyskać tablicę wartości indeksu największych 1000 największych wartości w tablicy.Uzyskaj wartości indeksu tablicy z 1000 największych wpisów w tablicy za pomocą LINQ
Na przykład:
int[] IndexArray = ArrayWithValues.Return_Indexes_Of_1000_Biggest_Values
Kod jest oczywiście Bogus to tylko w celu zilustrowania tego, co mi potrzeba.
UPDATE
ja zupełnie zapomniałem powiedzieć, że muszę drugą funkcjonalność. Mam drugą tablicę i muszę pobrać wszystkie wartości z drugiej tablicy, która ma te same indeksy, co zawarte w klasie IndexArray.
Mogę to zrobić z łatwością za pomocą pętli i tak dalej, ale kod jest duży i chcę nauczyć się częściej używać LINQ, ale w tej chwili LINQ wciąż jest dla mnie bardzo obcy.
Przejrzałem podobne pytania, ale nie udało mi się zmodyfikować kodu, aby spełnić moje wymagania, ponieważ ludzie zwykle potrzebują tylko wartości, a nie indeksów wartości.
Dzięki za pomoc!
Dla aktualizacji: 'var itemsFromSecondArray = indexArray.Select (i => secondArray [i]). ToArray()', lub możesz po prostu wybrać je z wyrażenia 'indexArray' jeśli nie potrzebujesz'. indexArray' inaczej. – Rup