typ wyliczeniowy

Odpowiedz Nowy wątek
2008-05-22 11:27
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?

Pozostało 580 znaków

2008-05-22 12:04
0

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


Pozostało 580 znaków

2008-05-22 14:30
Piotrolll
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ć?

Pozostało 580 znaków

2008-05-22 15:57
0

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


Pozostało 580 znaków

2008-05-22 16:24
Piotrolll
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>

Pozostało 580 znaków

2008-05-22 16:57
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ść

Pozostało 580 znaków

2008-05-22 20:25
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);
            }

Pozostało 580 znaków

2008-06-01 18:48
Piotrolll
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

Pozostało 580 znaków

2008-06-01 19:27
0

Dict["key"].Value


Pozostało 580 znaków

2008-06-02 12:26
Piotrolll
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

Pozostało 580 znaków

2008-06-02 15:48
kamyk__
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ć

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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