Mam wyliczenie, z członkami, które mają tę samą wartość, ale gdy próbowałem wydrukować je jako ciągi, spodziewałem się zobaczyć, że używa pierwszej zdefiniowanej wartości, to jest dla Buy
i Bid
drukuje Buy
, a dla Sell
i Ask
drukuje Sell
, ale test pokazuje, że wygląda losowo, ponieważ nie jest ani pierwszy, ani ostatni dla wszystkich wartości. więc dlaczego ta niekonsekwencja?Dlaczego wartość ciągu Enum jest niespójna?
using System;
public enum OrderType
{
Buy,
Bid = Buy,
Sell,
Ask = Sell
}
public class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
OrderType o = OrderType.Buy;
Console.WriteLine("{0}: {1}", (int)o, o);
OrderType o2 = OrderType.Bid;
Console.WriteLine("{0}: {1}", (int)o2, o2);
OrderType o3 = OrderType.Sell;
Console.WriteLine("{0}: {1}", (int)o3, o3);
OrderType o4 = OrderType.Ask;
Console.WriteLine("{0}: {1}", (int)o4, o4);
}
}
wyjściowa:
Buy: 0 - Bid
Bid: 0 - Bid
Sell: 1 - Sell
Ask: 1 - Sell
Pytasz, dlaczego zawsze widzisz 'Bid' i' Sell' lub czy otrzymujesz różne odpowiedzi w różnych seriach? –
Moje bezpośrednie pytanie brzmi: dlaczego tak nie jest ("Kup" i "Sprzedaj") lub ("Oferta" i "Zapytaj"), a raczej jest to mieszanka dwóch. Również nie widzę różnych odpowiedzi na różne przebiegi, nie jestem pewien, czy to nie byłem wystarczająco dużo razy, aby przetestować. – fluter
jest to wspomniane w Notatkach dla dzwoniących: https://msdn.microsoft.com/en-us/library/16c1xs4z.aspx#Remarks – Slai