Subject: Global List
Posted: 18 Aralık 2018 at 22:54
Programda aşağıdaki şekilde
public List<List<List<int>>> network = new List<List<List<int>>>();
public List<List<int>> networkGene = new List<List<int>>();
Programda, her bir iterasyon sonunda Uçak Bakım Rotalama Problemine ilişkin bulduğum sonuçları networkGene isimli liste eklemekteyim. Programın başında iterasyon adedini belirliyorum ve program çalıştığı sürece her bir iterasyonda yeni bir networkGene elde ediyorum. Ancak aşağıdaki fonksiyonu kullanarak her bir iterasyon sonunda elde ettiğim networkGene'i network isimli liste aktarmayı başaramadım (NOT: fonksiyondaki cnt ve net değişkenlerinin başlangıç değerleri 0'dır).
public void transferringDatatoNetwork(){
List<List<int>> networkGene_ = new List<List<int>>();
foreach (List<int> subList in networkGene)
{
networkGene_.Insert(cnt, subList);
}
List<List<int>> nGene_ = new List<List<int>>(networkGene_);
network.Insert(net, nGene_);
net++;
networkGene_.Clear();
}
Fonksiyonda öncelikle networkGene_ isimli liste networkGene listindeki değerleri aktarıyorum ve müteakiben nGene_ isimli list ile networkGene_ listinin klonunu oluşturup bu klonu network listine yerleştiriyorum. Ancak ikinci iterasyonda, networkGene listindeki değerler değiştiği için bu değerleri network isimli liste aktarma girişimim neticesinde ilk eklediğim değerler yerini yeni networkGene listindeki değerlere bırakmaktadır. İterasyon limitimi 20 olarak belirlediğim durumda network isimli listimde 20 adet sonuç bulunmakta olup tüm sonuçlar birbirinin aynıdır ve son iterasyonda networkGene listindeki değerlerdir. Söz konusu sorunu çözmemde yardımcı olursanız çok sevinirim. Yardımlarınız için teşekkür ederim.