我声明了以下枚举:
public enum TransactionTypeCode { Shipment = 'S', Receipt = 'R' }
Run Code Online (Sandbox Code Playgroud)
如何从TransactionTypeCode.Shipment获取值'S'或从TransactionTypeCode.Receipt获取'R'?
简单地做TransactionTypeCode.ToString()会给出一个Enum名称为"Shipment"或"Receipt"的字符串,因此它不会切断芥末.
小智 30
您必须检查枚举的基础类型,然后转换为正确的类型:
public enum SuperTasks : int
{
Sleep = 5,
Walk = 7,
Run = 9
}
private void btnTestEnumWithReflection_Click(object sender, EventArgs e)
{
SuperTasks task = SuperTasks.Walk;
Type underlyingType = Enum.GetUnderlyingType(task.GetType());
object value = Convert.ChangeType(task, underlyingType); // x will be int
}
Run Code Online (Sandbox Code Playgroud)
J D*_*nal -3
将此标记为不正确,但我无法删除它。
尝试这个:
string value = (string)TransactionTypeCode.Shipment;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21518 次 |
| 最近记录: |