Czyżbym wykrył błąd w C#:D?
Witam nie wiem czemu ale po skompilowaniu następującego kodu :
[code]
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();
}
}
}
[/code]
otrzymałem nieco dziwny wynik ,zamiast otrzymać na ekranie S2 ,otrzymuje P2 a niby dlaczemu?
Odpowiedzi: 1
Wynik jest ok, podałeś każdemu z elementów enumeracji tą samą wartość, więc jest bez różnicy, czy program wypisze S2, P2, W2 czy K2. Przeprowadziłem trochę testów :mryellow: i wyszło mi, że program wypisuje zawsze środkową etykietę spośród elementów o tej samej wartości, np dla [code]enum kartyy
{
a1 = 1,
a2 = 1,
a3 = 1,
a4 = 1,
a5 = 1,
a6 = 1,
a7 = 1,
a8 = 1,
a9 = 1,
a10 = 1,
a11 = 1,
a12 = 2,
a13 = 1,
a14 = 1,
}
...
kartyy[] tab = new kartyy[] { kartyy.a13 };
Console.WriteLine(tab[0]);[/code]
wypisuje a6 :wtf:
EDIT: w sumie to a6 -> środkowy element z ciągu a1..a11, więc nie do końca tak jak napisałem, no ale najważniejsze, że wartość etykiety się zgadza :mryellow:
Strona 1 / 1