Przypisanie wartości do klucza enum C# dictionary

0

Witam mam problem napisałem kod który generuje losowe liczby i przypisuje je do listy jednak kiedy chce policzyć średnia i wywołać najmniejsza i najwieksza średnia wypisuje Sie tylko 0

  public enum Average
    {
        average  , min, max 
    };

W ClassA stworzyłem pole i generator liczb losowych

 class ClassA
    {


        public int Field { get; set; }

        public ClassA()
        {
            Random rng = new Random();
            Field = rng.Next(1, 100);
            Console.WriteLine();
        }

    }

W konstruktorze stworzyłem listę 100 pozycji klasy A i obliczyłem średnią z tych list, ale gdy chcę dodać te dane do listy, to średnia wyświetla tylko do 0 a korzystając z tych pol chciałem znaleźć najniższą i najwyższą średnią z listy, a następnie przypisz ją do klucza w dictionary

        public ClassB()
        {


            for (int i = 0; i < 100; i++)
            {
                lista.Add(new ClassA());
                Console.WriteLine(lista[i].Field);

            }
             int total = 0;
             int average = 0;

            for (int index = 0; index < lista.Count; index++)
            {

               total = total + Field;
               average = total / lista.Count;
            }

            for (int k = 0; k < 100; k++)
            {
                averages.Add(average);
            }


        }

        public int _Field2
        {
            get
            {
                return Field2;
            }
            set
            {
                _ = averages.Min();
            }
        }

        public int _Field3
        {
            get
            {
                return Field3;
            }
            set
            {
                _ = averages.Max();
            }
        }

Jednak kiedy spróbuję uruchomić kod, pokaże tylko 0 i powinien wyświetlić średnią wartość przypisaną z pól, które przyjmują wartość list.min list.max

public Dictionary<Average, ClassB> dicc = new Dictionary<Average, ClassB>();
dicc.Add(Average.min, new ClassB(Field2));
dicc.Add(Average.max, new ClassB(Field3));



            foreach(KeyValuePair<Average , ClassB> item in dicc)
            {

                Console.WriteLine(item.Key + "   " + item.Value);
            }
0

a gdzie wywolujesz set dla _Field3? albo set dla _Field2?

2
  1. Czym się zajmuje środkowa pętla?
    Która, nawiasem mówiąc, powinna być foreach.
    Niby przechodzi po liście, ale jej nie używa
    średnią się dzieli PO PĘTLI, prosta szkolna wiedza

  2. randomizer się inicjue raz, a nie za każdym razem

  3. generalnie C# jest czytelnym językiem, bardzo się postarałeś aby było to w ogóle nieczytelne. To, że kod początkującego może mieć błędy, to jedno, ale to, ze nie można odtworzyć jaki miał zamiar, to coś zupełnie innego
    Jest w cholerę zbędnych rzeczy.

  4. dzielenie na liczbach całkowitych nie działa tak, jak myślisz. To jest ważne (jak wyczyścisz inne błędy)

  5. zanim zacznie hakersko używać zmiennej podkreślenie, to może najpierw nauczyć się zwyczajnie poprogramować

  6. dziedziczysz B po A? Nie dałeś pełnego kodu. Jakbyś klasom nadał rozsądne nazwy, by prawdopodobnie się ujawnił jakiś paradoks. Np zbiór Gruszek dziedziczy po Jabłku

  7. czytam, czytam i nie mogę zrozumieć. To wygląda jak kilka kodów z neta wklejonych bez rozumienia

1 użytkowników online, w tym zalogowanych: 0, gości: 1