• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przypisanie wartości do klucza enum C# dictionary

Aruba Cloud - Virtual Private Server VPS
0 głosów
308 wizyt
pytanie zadane 21 października 2020 w C# przez Masterkk121 Początkujący (280 p.)


```
  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);
            }

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

komentarz 21 października 2020 przez adrian17 Mentor (352,580 p.)

Możesz pokazać pełny kod?

Na razie, to co czytam zupełnie nie ma sensu :(

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

To wygląda strasznie dziwnie, trochę jakbyś nie rozumiał properties;

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

A tutaj z jakiegoś powodu dodajesz 100 razy tą samą wartość do listy?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 134 wizyt
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 13 października 2015 w C# przez Surykat Stary wyjadacz (14,780 p.)
0 głosów
1 odpowiedź 526 wizyt
pytanie zadane 15 września 2020 w C# przez Szyszka Gaduła (3,510 p.)

93,324 zapytań

142,323 odpowiedzi

322,389 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...