Vorrei un codice LINQ pulito che possa ottenere una matrice dei valori dell'indice dei primi 1000 valori massimi all'interno di un array.Ottieni i valori di indice degli array delle 1000 voci più grandi all'interno di un array utilizzando LINQ
Ad esempio:
int[] IndexArray = ArrayWithValues.Return_Indexes_Of_1000_Biggest_Values
Il codice è ovviamente fasullo è solo per illustrare quello che mi serve.
UPDATE
ho completamente dimenticato di dire che ho bisogno di una seconda funzionalità. Ho un secondo array e ho bisogno di recuperare tutti i valori nel secondo array che ha gli stessi indici contenuti all'interno del IndexArray.
Posso farlo facilmente utilizzando i loop e tutto questo ma il codice è grande, e voglio imparare a usare LINQ più spesso ma al momento LINQ è ancora molto estraneo a me.
Ho risposto a domande simili poste qui, ma non ero in grado di modificare il codice per soddisfare le mie esigenze, poiché le persone solitamente hanno solo bisogno dei valori e non degli indici dei valori.
Grazie per l'aiuto!
Per l'aggiornamento: 'var itemsFromSecondArray = indexArray.Select (i => secondArray [i]). ToArray()', oppure puoi selezionarli dall'espressione 'indexArray' se non hai effettivamente bisogno' indexArray' altrimenti. – Rup