sort list by variable in list of ints array

bit of a noob sorry for any wrong terminology
i have a list of int arrays that i want to sort by one of its variables, this is how i build the list

 int newInt = 0;
 List<int[,,]> withIndex = new List<int[,,]();
 foreach (var item in universe2Kills)
 {
//[Universe][killCount][index]
int[,,] ArrayOfInts = new 
int [7,universe2Kills.IndexOf(newInt),newInt];
    withIndex.Add(ArrayOfInts);
    newInt++;
            }

and now i want to sort this withIndex list in descending order, grab the top 5 results and put them in a new list, with a normal list i would do this

List<int> sorted = new List<int>();
sorted.AddRange
(universe2Kills.OrderByDescending(p => 
 p ).Take(5));

but i dont know how to do this with my withIndex list i want to use the middle variable to sort the list

universe2Kills.IndexOf(newInt) 

any help appreciated, many thanks

Why make it so complicated, instead just split it up into 3 arrays, instead of a 3D array?

–

2 Answers

2

Use a list of jagged arrays in which each jagged array consists of three elements. This will be helpful in this case…

You can make an object as C# is intended for (Object orriented)

public class Universe {
// add whatever you want
     public int value1;
     public int value2;
     public int value3;
}

in your other class:

List<Universe> withIndex = new List<Universe>();
withIndex.Add(new Universe { value1 = 2, value2 = 3, value3 = 4 });
list[0].value1 = 1; //etc

then you can do this as example:

var value1descending = withIndex.Select(p => p.value1).OrderByDescending(p => p).Take(5);

Thank you was trying to avoid this I don't know why thanks for the answer

–