从Convert.ToChar(0)转换的空间无法修剪

时间:2017-02-16 07:12:48

标签: .net vb.net

我正在尝试在最初从枚举

开始的对象中获得状态标志
Public Enum Status
    Enabled = 89
    Disabled = 78
    Unknown = 0
End Enum

Public Sub Convert()
    'Something
    Output.status = Convert.ToChar(Convert.ToInt32(Status.Unknown)).ToString().Trim()
End Sub

虽然启用/禁用的工作方式类似于冠军,其输出= Y / N,但“未知'状态返回" "无法修剪,然后在\u0000之后变为System.Runtime.Serialization.Json.DataContractJsonSerializer

我无法在Google上搜索原因/解决方案,我可能知道为什么会这样,我怎么能按预期得到空字符串?

谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

如果您将0转换为char,则会获得'\0',即二进制零。您似乎想要一个空格字符,即320x20)。

因此,您可以将Status.Unkown声明为32

Public Enum Status
    Enabled = 89
    Disabled = 78
    Unknown = 32 // white space
End Enum

或者在字符串转换时需要额外的处理。