vb.net - Visual Studio 不会标记 VB.Net 中未终止的字符串常量

标签 vb.net visual-studio string

我注意到,如果我在 Visual Studio 2010 中省略字符串常量的终止双引号,则不会出现错误,甚至不会出现警告,即

Dim foo as String = "hi

但是,我们使用的持续集成工具标记了一个错误:

error BC30648: String constants must end with a double quote.

这是怎么回事? VB.Net 中是否有某种语言规则使终止双引号“有时”可选? Visual Studio 中是否有某些设置会将其标记为错误,以便我可以避免以这种方式“破坏构建”?

最佳答案

实际上,从历史上看,BASIC 语言从来不需要结束报价。这可以追溯到20世纪70年代。 GW-Basic、BasicA、QBASIC、QuickBasic,甚至较旧的 Tandy 和 TRS-80 计算机都不需要收盘价。这不是什么新鲜事。原因是 BASIC 不是一种自由流语言,如 C 或 C#。这意味着无论何时找到换行符,BASIC 都知道您的字符串必须结束,无论是否加引号。为了与旧代码兼容,Microsoft 故意不强制执行此规则。

关于vb.net - Visual Studio 不会标记 VB.Net 中未终止的字符串常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906433/

相关文章:

javascript - 如何阻止 ASP.NET Core 2.0 MVC 缩小修改特定文件?

c - Xcode c bad_acces 代码 2 错误

python - 从字符串列表中删除短重叠字符串

c - 通过指针传递单个字符与通过指针传递字符串

.net - Elmah-捕获错误,但仍然记录并发送电子邮件?

vb.net - 如何在VB函数中添加可选参数/默认值参数?

vb.net - 显示 ContextMenuStripItem 而不单击当前单元格

vb.net - VB 捕获文本框中的前 4 个字符

asp.net - 为什么 ASP.NET Web 配置工具被排除在 Visual Studio 2013 之外?

c# - Visual Studio 上的 Specflow 特征文件中没有颜色