This program add's values with their other values into a dictionary, all is fine until there are identical keys (var eat(.8) and var extra(.8) with different values. How do i ensure that i can use the right key every time even though they are similar? For example, var example = gigantDictionary[.8] (but i want var edmg value instead of '500' in the code?

```
var wqat = 1.1;  //| index 0
var rat = .2;    //| index 1
var eat = .8;    //| index 2
var baat = 1.2;  //| index 3
var extra = .8;  //| index 4

var wqdmg = 120; //| index 0
var rdmg = 60;   //| index 1
var edmg = 50;   //| index 2
var badmg = 40;  //| index 3
var extradmg = 500; //| index 4

List<double> theOneList = new List<double>();
List<double> damageList = new List<double>();

theOneList.Add(wqat);
theOneList.Add(rat);
theOneList.Add(eat);
theOneList.Add(baat);

damageList.Add(wqdmg);
damageList.Add(edmg);
damageList.Add(rdmg);
damageList.Add(badmg);

Dictionary<double, double> gigantDictionary = new Dictionary<double, double>();

for (int i = 0; i < theOneList.Count; i++)
{
    gigantDictionary.Add(theOneList[i], damageList[i]);
    gigantDictionary.Add(extra, 500); //this is the malignant similar key

}

 theOneList.Sort((c, p) => -c.CompareTo(p)); //orders the list

List<double> finalList = new List<double>(); 

 for (int i = 0; i < theOneList.Count; i++)
        {
            finalList.Add(gigantDictionary[theOneList[i]]); //grabs damage values and add's it to 'finalList'

           Console.WriteLine(finalList[i]);
        }

```

So ultimately, i want to order 'theOneList' by descent, in doing so i can get the damages from 'gigantDictionary' and put those into 'finalList', now i have an ordered damage list that i need, but since 2 keys are similar... this is holding me back.

\*Edit: Could identical indexes be the key to this? be the bridge? for example, in index 0 i get 1.1 and 120, maybe the answer lies with the identical indexes, i want to get '120' damage from '1.1', notice both have index 0, this might work