如何将数字数据检索为字符串

时间:2017-11-17 08:56:12

标签: c# string enums

之前可能会问这个问题,但是我无法理解它,所以我会感激任何帮助。

我有一个消息框,其中存储了我通过modbus通信接收的错误类型。

MessageBox.Show(String.Format("Error uploading: {0}", e.ReceivedData[0]));

e.ReceivedData[0]正在保留我要在消息框中显示的数据。 因此,它可能是1 2 3 4 5 6 7.这些数字代表操作失败的类型。

但是,我想显示确切的错误消息

1 - "UR_NOT_ACTIVE",
2 - "UR_OUT_OF_BOUND",
3 - "UR_INVALID_COMMAND"

等等。

我的计划是将它存储在枚举中,但我之前没有使用过c#,所以它比我想象的更令人困惑。

1 个答案:

答案 0 :(得分:0)

是的,使用枚举: public enum OperationFailureType {     UR_NOT_ACTIVE = 1,     UR_OUT_OF_BOUND = 2,     UR_INVALID_COMMAND = 3 } 现在您可以使用enumValue.ToString来获取文本,然后可以将其强制转换为int以获取数字。 MessageBox.Show($"上传错误:{e.ReceivedData [0] .ToString()}"); 假设ReceivedData现在是此枚举的数组。如果它只是一个int []并且您无法更改它,则可以将其强制转换为OperationFailureType: OperationFailureType failureType =(OperationFailureType)e.ReceivedData [0]; MessageBox.Show($"上传错误:{failureType.ToString()}");