I am currently creating a Legend component that maps text onto a gradient-looking legend that looks like this:

The central piece of code looks like the below (omitting the graphics declaration code snippets, as that's not the main piece):
int numberOfItems = 10;
int increment = (int) Math.Round((max - min), 0);
int step = increment / numberOfItems;
Array that stores the step into an integer array the size of 10.
int[] legend = new int[numberOfItems];
for (int i = 0; i < legend.Length; i++) {
legend[i] = step * i;
}
String Reversal Code Snippet
for (int i = (legend.Length - 1); i >= 0; i--) {
g.DrawString(legend[i].ToString(), drawFontX, Brushes.White, ((newWidth / 2) - 5), (newHeight / 10) + (verticalDistance * i), stringFormatTimes);
}
I have also tried:
legend.Reverse();
for (int i = 0; i < numberOfItems; i++) {
g.DrawString(legend[i].ToString(), drawFontX, Brushes.White, ((newWidth / 2) - 5), (newHeight / 10) + (verticalDistance * i), stringFormatTimes);
}
As you can tell, I am trying to have the graph render the text from the largest value to the lowest, instead of what it is doing now, which is 0 - 1080.
My issue is, despite using both array reversal methods, I have been unable to reverse the legend array. I'm not quite sure what I am doing wrong.