7
我有一個枚舉,其成員具有相同的值,但是當我試圖將它們打印爲字符串時,我期望看到它使用第一個定義的值,即,對於Buy
和Bid
,它打印Buy
,對於Sell
和Ask
它打印Sell
,但測試顯示它看起來是隨機選擇的,因爲它既不是第一個也不是最後一個值。那爲什麼這種不一致呢?爲什麼Enum字符串值不一致?
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);
}
}
輸出:
Buy: 0 - Bid
Bid: 0 - Bid
Sell: 1 - Sell
Ask: 1 - Sell
你問你爲什麼總是看到「出價」和「出售」,或者你在不同的運行中得到不同的答案嗎? –
我的迫切問題是爲什麼它不是('買'和'賣')或('出價'和'問'),而是它們混合在一起。另外,我在不同的跑步中看不到不同的答案,我不確定是否沒有足夠的時間進行測試。 – fluter
它在調用者的注意事項中提到:https://msdn.microsoft.com/en-us/library/16c1xs4z.aspx#Remarks – Slai