我需要字典的替代品,因为需要重复。原因是:我需要寻找最佳路线。为此,我正在创建一个有 20 个人的群体。每个人都有自己的路线,并且每条路线都计算出适合度。为了能够按适合度对路线进行排序,我正在创建一个字典。现在我正在迭代几代人,同时对字典进行排序并在每次迭代中添加新的路由。但是字典正在删除重复项,不应该这样做,因为代码可能会多次抛出最佳路线。
我已经阅读了有关查找和链接列表的内容,但并不真正了解它。或者可能是一个元组?有谁更了解什么可能会有所帮助?
这是我的代码:好吧,它不是仅仅显示字典以避免误解的漏洞代码。
List<List<Point3d>> currentGeneration = new List<List<Point3d>>(cGP.Count);
cGP.ForEach((item) => {currentGeneration.Add(new List<Point3d>(item));});
List<double> currentFitness = cGF.ToList();
Dictionary<List<Point3d>, double> dictionary = new Dictionary<List<Point3d>, double>();
foreach(List<Point3d> individual in currentGeneration)
{
foreach(double individualsFitness in currentFitness)
{
if(!dictionary.ContainsKey(individual))
{
if(!dictionary.ContainsValue(individualsFitness))
{
dictionary.Add(individual, individualsFitness);
}
}
}
}