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

.net 无法修剪从Convert.ToChar(0)转换的空间,.net,vb.net,.net,Vb.net,我试图在一个最初从enum开始的对象中实现一个状态标志 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 虽然Enabled/D

我试图在一个最初从enum开始的对象中实现一个状态标志

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
虽然Enabled/Disabled的工作方式类似于champ,其输出为Y/N,但“Unknown”状态返回无法修剪,但在System.Runtime.Serialization.Json.DataContractJsonSerializer之后,它变成了\u0000

我无法在Google上搜索原因/解决方案,我可以知道为什么会这样,以及如何获得预期的空字符串吗

谢谢你的时间

如果将0转换为字符,则会得到“\0”,即二进制零。似乎您需要一个空白字符,即32 0x20

所以你可以申报你的身份。不知道是32岁


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

实际上,将包含ASCII值的枚举转换为字符似乎有点奇怪……您能否解释一下上下文,您需要它做什么,以及如何进一步处理Output.status?特别是,您序列化了它,那么在反序列化修剪后的值时,您希望发生什么呢?@RenéVogt我真的不知道反序列化时会发生什么,因为这是处理客户端的供应商的要求,我使用enum来表示状态标志,因为我们的系统包含很多这种标志,我不希望下面的程序员对它们感到困惑。Y可能代表已启用、已删除或已删除等,不要问我为什么,因为我也想知道。谢谢!我可以知道有没有办法得到一个空字符串吗?@ZayLau如果你使用32方法,修剪后最后一个字符串应该是空的。
Public Enum Status
    Enabled = 89
    Disabled = 78
    Unknown = 32 // white space
End Enum