Tôi muốn có một mã LINQ sạch đẹp có thể nhận được một mảng giá trị chỉ mục của 1000 giá trị lớn nhất trong một mảng.Nhận giá trị chỉ mục mảng của 1000 mục lớn nhất trong một mảng bằng LINQ
Ví dụ:
int[] IndexArray = ArrayWithValues.Return_Indexes_Of_1000_Biggest_Values
Mã này rõ ràng là không có thật nó chỉ là để minh họa những gì tôi cần.
CẬP NHẬT
Tôi hoàn toàn quên nói rằng tôi cần một chức năng thứ hai. Tôi có một mảng thứ hai, và tôi cần phải lấy tất cả các giá trị trong mảng thứ hai có cùng các chỉ mục như được chứa bên trong IndexArray.
Tôi có thể làm điều đó dễ dàng bằng cách sử dụng vòng lặp và tất cả điều đó nhưng mã lớn, và tôi muốn học cách sử dụng LINQ thường xuyên hơn nhưng tại thời điểm LINQ vẫn còn rất xa lạ với tôi.
Tôi đã trải qua các câu hỏi tương tự được yêu cầu ở đây nhưng tôi không thể sửa đổi mã để phù hợp với nhu cầu của mình, vì mọi người thường chỉ cần giá trị chứ không phải chỉ mục của các giá trị.
Cảm ơn sự giúp đỡ!
Để cập nhật: 'var itemsFromSecondArray = indexArray.Select (i => secondArray [i]). ToArray()', hoặc bạn chỉ có thể chọn chúng ra khỏi biểu thức 'indexArray' nếu bạn không thực sự cần' indexArray' nếu không. – Rup