我需要用于订单状态的自定义数据类型,该如何在C#中完成?以下是我的意思的示例。

订单可以处于4个状态:
-排队中
-处理
- 运输
-收到

class Order {
    public OrderStatus status { get; set; }
}




Order myorder = new Order();
myorder.status = OrderStatus.queue;

...

if (myorder.status == OrderStatus.received)
{
    ...
}


如何定义OrderStatus类,使其具有这四个选项可供选择?

干杯

最佳答案

enum OrderStatus {
    InQueue,
    Handling,
    Shipping,
    Received
}



您可以根据需要将其标记为公开,也可以不标记为公开
您可能需要也可能不需要为每个枚举项设置特定的整数值。一旦开始保留它们,您就再也不想更改顺序了(很容易,不用这样)。通过分配特定的值可以使您以可能有意义的方式对它们进行重新排序和分组...


举个例子:

enum OrderStatus {
    NewOrder = 1,

    OnHold = 6,
    CancelledOrder = 9,

    // Approval States
    WaitingApproval = 7,
    ApprovalRejected = 8,

    // Processing
    InQueue = 2,
    Handling = 3,

    // We've done our job!
    Shipping = 4,
    Received = 5
}

关于c# - 具有“选择”的C#自定义数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24803544/

10-13 08:27