VB.NET如何用不可破空格字符初始化常量
我用c#编写了这段代码,它是有效的,可以工作VB.NET如何用不可破空格字符初始化常量,vb.net,constants,Vb.net,Constants,我用c#编写了这段代码,它是有效的,可以工作 public const char NBSP = '\u00A0'; 由于某些原因,我需要在VB.net中编写此方法。我试过这些: 一, 错误:选项Strict On不允许从“字符串”到“字符”的隐式转换 二, 错误:字符常量必须仅包含一个字符 三, 错误:无法将整数值转换为字符 注意:我不能使用ChrW函数。。都不是Convert.ToChar(),因为它是常量。一个解决方案可能是删除Const键,但在我看来很难看 我想我应该使用字符串而不是Ch
public const char NBSP = '\u00A0';
由于某些原因,我需要在VB.net中编写此方法。我试过这些:
一,
错误:选项Strict On不允许从“字符串”到“字符”的隐式转换
二,
错误:字符常量必须仅包含一个字符
三,
错误:无法将整数值转换为字符
注意:我不能使用ChrW函数。。都不是Convert.ToChar(),因为它是常量。一个解决方案可能是删除Const键,但在我看来很难看
我想我应该使用字符串而不是Char数据类型。但不确定是否会引起任何问题
Public Const NBSP As String = "\u00A0"
有什么建议吗?不同的方法
使用整数存储值,然后使用以下命令将其转换为char
:
使用字节数组并调用将字节数组转换为字符串。请注意,字节顺序颠倒:
Dim nbs2 As Byte() = {&HA0, &H0}
Console.WriteLine("NBS" & Encoding.Unicode.GetString(nbs2))
用于将unicode转义字符“\uxxx”转换为字符串:
Dim nbs3 As String = "\u00A0"
Dim nbs4 = "NBS" & Regex.Unescape(nbs3)
Console.WriteLine(nbs4)
Public Const NBSP As String = "\u00A0"
Dim nbs1 As Integer = &HA0
Console.WriteLine("NBS" & New String({ChrW(nbs1)}))
Dim nbs2 As Byte() = {&HA0, &H0}
Console.WriteLine("NBS" & Encoding.Unicode.GetString(nbs2))
Dim nbs3 As String = "\u00A0"
Dim nbs4 = "NBS" & Regex.Unescape(nbs3)
Console.WriteLine(nbs4)