我有这个用c#编写的代码,它有效且有效。
public const char NBSP = '\u00A0';
出于某些原因,我需要在VB.net中编写此方法。我试过这些:
1.
Public Const NBSP As Char = "\u00A0"
错误:Option Strict On禁止从“String”到“Char”的隐式转换
2.
Public Const NBSP As Char = "\u00A0"c
错误:字符常量必须包含一个字符。
3.
Public Const NBSP As Char = &HA0 'Or 0x00A0
错误:无法将整数值转换为Char。
注意:我不能使用ChrW函数.. Convert.ToChar()都不是,因为它是一个Const。一种解决方案可能是删除Const键,但看起来很难看。
我在想我应该使用String而不是Char数据类型。但不确定是否会引起任何问题?
Public Const NBSP As String = "\u00A0"
有什么建议?
方法不同。
使用Integer存储值,然后使用char
将其转换为ChrW():
Dim nbs1 As Integer = &HA0
Console.WriteLine("NBS" & New String({ChrW(nbs1)}))
使用Byte数组并调用qazxsw poi将字节数组转换为字符串。请注意,字节顺序是反转的:
Encoding.Unicode.GetString()
使用Dim nbs2 As Byte() = {&HA0, &H0}
Console.WriteLine("NBS" & Encoding.Unicode.GetString(nbs2))
将unicode转义字符“\ uXXXX”转换为字符串:
Regex.Unescape()