我注意到,如果我在 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/