You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET禁止字符数组转C#方法咨询

VB.NET禁止字符数组转C#的正确实现

嘿,我来帮你搞定这个转换问题!你遇到的问题大概率是因为HTML转义字符没处理好,还有多余空格导致的,下面给你详细的解决方案:

原VB.NET代码

先确认一下你的原VB代码(注意&是HTML转义后的&,实际VB项目里应该是&):

Public BannedChars() As String = New String() {" ", ",", ".", ";", "/", "\\", "!", "\"", "(", ")", "£", "$", "%", "^", "&", "*", "{", "}", "[", "]", "@", "#", "'", "~", "<", ">", "?", "+", "=", "-", "|", "¬", "`"}

你尝试的代码问题所在

从你给出的不完整代码来看,主要有两个问题:

  • 把&写成了HTML转义的&amp;,C#里直接写"&"就可以
  • 错误地给%和^加了前后空格,变成了" % "和" ^ ",这会让程序把带空格的符号当成禁止字符,和原VB逻辑完全不一致

正确的C#代码

直接用这段代码替换就能正常运行了:

public string[] BannedChars = new string[] 
{
    " ", ",", ".", ";", "/", "\\", "!", "\"", "(", ")", "£", "$", "%", "^", "&", "*", 
    "{", "}", "[", "]", "@", "#", "'", "~", "<", ">", "?", "+", "=", "-", "|", "¬", "`"
};

转换时的关键注意点

  • VB的Public对应C#的public,如果这个数组是类的成员,记得确保访问修饰符符合你的项目需求
  • 字符串数组初始化语法:VB是New String() { ... },C#是new string[] { ... },写法很接近
  • 双引号在C#里需要用\"转义,你之前的转义是对的,这点没问题
  • 一定要还原HTML转义字符:比如原代码里的&amp;其实就是普通的&,直接写进C#字符串里就行

内容的提问来源于stack exchange,提问作者Cristian Capannini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:19:40