VB.NET禁止字符数组转C#方法咨询
VB.NET禁止字符数组转C#的正确实现
嘿,我来帮你搞定这个转换问题!你遇到的问题大概率是因为HTML转义字符没处理好,还有多余空格导致的,下面给你详细的解决方案:
原VB.NET代码
先确认一下你的原VB代码(注意&是HTML转义后的&,实际VB项目里应该是&):
Public BannedChars() As String = New String() {" ", ",", ".", ";", "/", "\\", "!", "\"", "(", ")", "£", "$", "%", "^", "&", "*", "{", "}", "[", "]", "@", "#", "'", "~", "<", ">", "?", "+", "=", "-", "|", "¬", "`"}
你尝试的代码问题所在
从你给出的不完整代码来看,主要有两个问题:
- 把
&写成了HTML转义的&,C#里直接写"&"就可以 - 错误地给
%和^加了前后空格,变成了" % "和" ^ ",这会让程序把带空格的符号当成禁止字符,和原VB逻辑完全不一致
正确的C#代码
直接用这段代码替换就能正常运行了:
public string[] BannedChars = new string[] { " ", ",", ".", ";", "/", "\\", "!", "\"", "(", ")", "£", "$", "%", "^", "&", "*", "{", "}", "[", "]", "@", "#", "'", "~", "<", ">", "?", "+", "=", "-", "|", "¬", "`" };
转换时的关键注意点
- VB的
Public对应C#的public,如果这个数组是类的成员,记得确保访问修饰符符合你的项目需求 - 字符串数组初始化语法:VB是
New String() { ... },C#是new string[] { ... },写法很接近 - 双引号在C#里需要用
\"转义,你之前的转义是对的,这点没问题 - 一定要还原HTML转义字符:比如原代码里的
&其实就是普通的&,直接写进C#字符串里就行
内容的提问来源于stack exchange,提问作者Cristian Capannini
相关产品推荐
相关产品推荐

