I'm not sure i understand you well, but seems you want to create something like ranking function...
Take a look at below code:
int[] numbers = new int[]{8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19};
List<Tuple<int, int>> result = numbers
.OrderByDescending(x=>x)
.GroupBy(x => x)
.SelectMany((grp, i) => grp
.Select(g => new Tuple<int, int>(i+1, g)))
.ToList();
Result:
Rank Value
1 19
1 19
2 18
3 17
4 16
5 15
6 14
7 13
8 12
9 11
10 10
11 9
12 8
As you can see, above Linq query is not perfect, because
18
have to have
3th
rank. Feel free to improve it.
See also:
Linq query to get rank based on b[
^]