typ wyliczeniowy

0

Witam nie wiem czemu ale po skompilowaniu następującego kodu :

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{





    class Program
    {
        enum kartyy
        {
            S2 = 1,
            P2 = 1,
            W2 =1,
            K2 = 1,

        }


        static void Main(string[] args)
        {
            kartyy[] tab = new kartyy[] {kartyy.S2 };

            Console.WriteLine(tab[0]);


            Console.Read();


        }
    }
}

otrzymałem nieco dziwny wynik ,zamiast otrzymać na ekranie S2 ,otrzymuje P2 a niby dlaczemu?

0

Yyy, ale czemu w typie wyliczeniowym dales wszedzie 1? Nadaj wartosci rosnoco (1, 2 3, 4..) to bedzie dobrze wyswietlac.

0

No ok ,tak własnie myślałem ,że to jest przyczyną. W takim razie typ wyliczeniowy do niczego mi się nie przyda. Mój problem polega na tym ,że chce mieć daną zmienną i móc odczytywać zarówno jej nazwę jak i wartość. Za pomocą jakiej funkcji mogę coś takiego zrobić?

0

Moze napisz co chcesz osiagnac. Niezbyt rozumiem twoj problem na razie.

0

A więc chce zrobić coś takiego przykładowo:

int nazwaZmie1=1;
int nazwaZmie2=1;
int nazwaZmie3=1;

int [] nowaTablica={nazwaZmie1 ,nazwaZmie2 ,nazwaZmie3};

for(int i=0;i<tablica.length;i++)
{
ZOSTAJA WYPISANE WSZYSTKIE NAZWY ZMIENNYCH ZAWARTYCH W TABLICY "nowaTablica" A NIE ICH WARTOŚCI
}

</b>
0

napisz do czego dokładnie ci to potrzebne, jaki jest cel, bo jak na razie to błądzisz tak jakbyś sam nie wiedział po co ci to, ja tu widzę że chyba ci będzie dodatkowa klasa która trzyma nazwę i wartość

0

To moze Dictionary cie zadowoli:

            Dictionary<string, int> dic = new Dictionary<string, int>();
            dic.Add("cos1", 1);
            dic.Add("cos2", 1);
            dic.Add("cos3", 1);

            foreach (KeyValuePair<string, int> key in dic)
            {
                MessageBox.Show("zmienna: " + key.Key + "\nwartosc: " + key.Value);
            }
0

Ok coś takiego właśnie mi się przyda.Tylko jakbyś mi jeszcze napisał jak wyświetlić pojedynczy rekord z tego słownika:P

0

Dict["key"].Value

0

Ok wszystko działa:) Dzięki za pomoc:) Jak zwykle nie zawiodłem się na tym forum:):) Zresztą to jest chyba jedyne normalne forum informatyczne w Polsce:P

0

foreach (int val in Enum.GetValues(typeof(kartyy)))
{
Console.WriteLine(Enum.GetName(typeof(kartyy), val));
}

wiem że nieaktualne ale tak to powinno z enumem wyglądać

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