gpt4 book ai didi

vb.net - 在VB中的字符串中使用左双引号

转载 作者:行者123 更新时间:2023-12-03 14:55:51 24 4
gpt4 key购买 nike

在下面的代码中,字符串 "“" 的用法(即字符串中的左双引号)导致 VB.NET 中的编译错误:

StringVar = Replace(StringVar, "“", "“")

这里发生了什么?

最佳答案

似乎您想用它们的 HTML 代码等效替换大括号。

乍一看,您的代码是绝对正确的。 问题是 VB 允许在代码中用 curl 引号代替常规引号(因为 Unicode 很棒,对吧?)。也就是说,下面的代码都是等价的:

Dim str = "hello"
Dim str = “hello”
Dim str = "hello“

现在,如果你想在字符串中使用引号,VB 不知道引号是否应该结束字符串。在 C# 中,这将通过转义引号来解决,即代替 """你会写 "\"" .在VB中,同样是通过双引号来完成的,即 """" .

回到你的 curl 报价。根据 VB 语言规范 (¶1.6.4),与直引号相同。因此,要在代码中编写 curl 引号,请尝试以下操作:
StringVar = Replace(StringVar, "““", "“")

不幸的是,我现在不能尝试这段代码,IDE 完全有可能简单地用直引号替换它。如果是这种情况,另一种方法是使用 ChrChrW与“左双引号”的字符代码:
StringVar = Replace(StringVar, ChrW(&H201C), "“")

或者,为了对称,用十进制书写(但我更喜欢十六进制的字符代码):
StringVar = Replace(StringVar, ChrW(8220), "“")

其他: Replace函数可能很快就会被弃用和 doesn’t work everywhere (例如 Windows Phone 7 )。相反,使用 Replace String的方法类(class):
StringVar = StringVar.Replace(, ChrW(8220), "“")

关于vb.net - 在VB中的字符串中使用左双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4665510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com