Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa punjenjem liste elementima

[es] :: .NET :: .NET Desktop razvoj :: Problem sa punjenjem liste elementima

[ Pregleda: 2321 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cure126
Srbija, Uzice

Član broj: 67027
Poruke: 227
*.dynamic.isp.telekom.rs.



+2 Profil

icon Problem sa punjenjem liste elementima02.05.2016. u 20:52 - pre 96 meseci
Imam jedan početnički problem.

Imam strukturu SomeStruct koja ima parametar Param i metodu Update koja menja vrednosti tog parametra svaki put kada se pozove.
Takođe imam HistoryList koja je List<SomeStruct> i u koju sa add dodajem mySomeStruct (tipa SomeStruct) svaki put kad ga apdejtujem sa Update. Na kraju kad se napravi lista, ispostavi se da svaki element liste HistoryList ima istu vrednost Param parametra. Probao sam čak i sa Copy constructor metodom u SomeStruct i ne vredi, uvek budu svi param isti. Takođe sam proverio sa Debug u toku rada, Param se menja ali na kraju kad se napravi lista, svi elementi imaju vrednost poslednjeg apdejtovanog parametra.
Šta mi je činiti da zapamtim sve my SomeStruct kao posebne objekte u listi?

Svaki put kreiranje novog mySomeStruct objekta ne dolazi u obzir jer Update zavisi od prethodnog stanja.
rs.ceevee.com/nenad.curcic
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:00 - pre 96 meseci
Postavi kod ovde, nešto radiš veoma pogrešno...

Citat:

Svaki put kreiranje novog mySomeStruct objekta ne dolazi u obzir jer Update zavisi od prethodnog stanja.

Naravno da dolazi u obzir, samo nam pojasni zavisnost od prethodnog stanja...
 
Odgovor na temu

cure126
Srbija, Uzice

Član broj: 67027
Poruke: 227
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:07 - pre 96 meseci
Metod klase u kome se koristi struktura WeightsCollection

Code:

 private WeightsCollection myWeights;
 private List<WeightsCollection> weightsHistory;

 public List<double> CalculateResult(int noOfCicles)
        {
            List<double> result = new List<double>();

            double y;
            List<double> rowValues = myData.GetRandomRow(out y);
            weightsHistory.Clear();
            for (int i = 0; i < noOfCicles; i++)
            {
                double hw = CalculateHw(CalculateZ(myWeights, rowValues));
                rowValues = myData.GetRandomRow(out y);
                myWeights.UpdateWeights(rowValues,hw,y,alpha);
                weightsHistory.Add(new WeightsCollection(myWeights));
            //    Debug.WriteLine(i .ToString() + ". myWeights = " + myWeights.Weights[0].ToString() + " => " + weightsHistory[i].Weights[0].ToString());
            }

            result = myWeights.Weights;

            return result;
        }


Struktura WeightsCollection
Code:

public class WeightsCollection
    {
        private List<double> weights;

        public List<double> Weights
        {
            get { return weights; }
        }
        public WeightsCollection(WeightsCollection copyWeights)
        {
            weights = copyWeights.weights;
        }

        public void UpdateWeights(List <double> inX, double hw, double y, double alpha)
        {
              // neka kalkulacija koja menja vrednosti weights
        }
}

rs.ceevee.com/nenad.curcic
 
Odgovor na temu

cure126
Srbija, Uzice

Član broj: 67027
Poruke: 227
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:09 - pre 96 meseci
E da, u pitanju je klasa, ne struktura, pobrkao sam sa nečim drugim u kodu, a kasno je... :)
rs.ceevee.com/nenad.curcic
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:12 - pre 96 meseci
Pa vidim da si pobrkao, velika razlika... :)
A i onaj copy construktor nije dobar jer ne pravi kopiju...
 
Odgovor na temu

cure126
Srbija, Uzice

Član broj: 67027
Poruke: 227
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:16 - pre 96 meseci
Da li on i listu samo dodaje referencu na jedan te isti objekat? Tako je možda bilo pre nego što sam dodao copy constructor. Prvo sam napisao
Code:

weightsHistory.Add(myWeights);

Možda sam trebao sa copy constructorom al kako onda da ga napišem?
rs.ceevee.com/nenad.curcic
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:19 - pre 96 meseci
Na brzaka:
Code:

public WeightsCollection(WeightsCollection copyWeights)
{
    weights = new List<double>(copyWeights.weights);
}
 
Odgovor na temu

cure126
Srbija, Uzice

Član broj: 67027
Poruke: 227
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Problem sa punjenjem liste elementima02.05.2016. u 21:23 - pre 96 meseci
To je to! Sad su svi različiti! Dođem ti pivo! :)
rs.ceevee.com/nenad.curcic
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Problem sa punjenjem liste elementima

[ Pregleda: 2321 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.