VB.Net 损坏的字符串 - IDE 错误地将字符串解释为代码

2024-01-11

今天我打开了一个 Visual Basic 项目,其中有几行声明了一些字符串,其中包含逗号分隔的数据。我修改了其中一根字符串,重建并关闭了该项目。当我来测试时,出现了错误。当我查看代码时,我发现我修改的那一行之后的字符串也发生了变化——它们在逗号后面插入了空格。

有没有人在 Visual Studio 2015 中看到过 IDE 错误应用格式的普通字符串?

看起来该字符串正在被格式化,就好像它是代码一样。我怀疑这与字符串插值有关,尽管这些是不使用它的遗留项目。

编辑,FWIW 代码与此类似,我已重命名字段和标题以尽量保持简短。

fullColumnMappingsBuilder.Append(",field1,field2,field3,field4,field5,field6,field7,field8,field9,field10")
fullColumnHeadingsBuilder.Append(",heading1,heading2,heading3,heading4,heading5,heading6,heading7,heading8,heading9,heading10")
If clientCode = "ML" Then
   fullColumnMappingsBuilder.Append(",mlField")
   fullColumnHeadingsBuilder.Append(",mlHeading")
End If
defaultColumnMappingsBuilder.Append(",morefields1,morefields2,morefields3,morefields4")
defaultColumnHeadingsBuilder.Append(",moreHeadings1,moreHeadings2,moreHeadings3,moreHeadings4")

我的编辑是简单地添加 field11 和 header11,然后保存。但代码最终看起来像这样:

fullColumnMappingsBuilder.Append(",field1,field2,field3,field4,field5,field6,field7,field8,field9,field10,field11")
fullColumnHeadingsBuilder.Append(",heading1,heading2,heading3,heading4,heading5,heading6,heading7,heading8,heading9,heading10,heading11")
    If clientCode = "ML" Then
       fullColumnMappingsBuilder.Append(", mlField")
       fullColumnHeadingsBuilder.Append(", mlHeading")
    End If
defaultColumnMappingsBuilder.Append(", morefields1, morefields2, morefields3, morefields4")
defaultColumnHeadingsBuilder.Append(", moreHeadings1, moreHeadings2, moreHeadings3, moreHeadings4")

问题是 IDE 在我未编辑的行的逗号后面插入了空格。


好吧,我想我知道我是怎么做到的。如果你从这样的事情开始:

Public Class Class1
  Sub New()
    Dim string1 As String = "Hello there world asdfj asldfkja sad "
    Dim string2 As String = "some code like words dim private as object sub"
  End Sub
End Class

我想我一定是从 string1 的声明中去掉了第一个双引号字符,然后将文本光标的位置移动到另一行。在 Visual Studio 的早期版本中,IDE 会将第一行标记为错误。

现在我们有了多行字符串,它认为您有一个从第一行末尾的引号开始运行的多行字符串string2 作为字符串”,并且以下文本是代码,因此它会发生更改(在这种情况下关键字大写)。

 Dim string2 As String = "some code Like words Dim Private As Object Sub"

我只是在编辑字符串时必须更加小心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VB.Net 损坏的字符串 - IDE 错误地将字符串解释为代码 的相关文章

  • 无法将共享项目添加到 Visual Studio 测试项目

    我正在使用 Visual Studio 2015 我有一个作为独立解决方案的共享项目 其他几个解决方案中使用的扩展的集合 我想测试共享项目 独立于任何其他解决方案 因此 我添加了一个新的测试项目 但是 在我的测试项目中 我无法添加对共享项目
  • 简单的if检查多个值vb

    在Sql中我们可以像这样过滤 SELECT FROM 表名 WHERE 列名 IN firstValue secondValue 如何在VB Net中检查 有简单的方法吗 或者 只是 If variable firstValue Or va
  • 带有 xml 文件内容的 NuGet 恢复包 - 工作示例?

    使用的工具 Visual Studio 2015 Enterprise Nuget 3 5 NET Framework 4 0 有谁有包含一些 xml 文件和 dll 库的 NuGet 包的工作示例吗 我在很多地方读过关于此的零散注释 但我
  • vb.net - 多维数组列表

    我已经设法制作了一些单维数组列表 但我无法找出多维数组列表 这就是我想做的 我有一个包含 5 列的数据库 mdb 我希望每一行都位于数组列表中 在 PHP 中我通常会做的是 array field1 array field2 field3
  • 非 Web 项目的 XML 序列化程序集

    我正在尝试解决 VS 2010 VB NET 和 C 中自动生成序列化程序集的众所周知的问题 项目设置中的 生成序列化程序集 选项对于非 Web 项目没有任何作用 请参阅http blog devstone com aaron archiv
  • ArrayList 搜索 .net

    以下是存储在我的数组列表中的数据的格式 A Amsterdam B Brussels C Canada 如此等等 我想通过仅传递前几个字符直到 来搜索我的数组列表 因此 如果我有类似 AA Test 的东西 那么我只想通过 AA 来检查它是
  • 根据值从绿色到红色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个在 vb net 中返回从红色 值 0 到绿色 值 100 的颜色的函数 另外 我需要一种方法来确定字体的颜色应该是白色还是
  • 如何使用网络浏览器控件填写 html 表单

    在VB6 classic中 我们可以这样做 Private Sub Form Load WebBrowser1 Navigate2 http yourSite com End Sub Private Sub Command1 Click W
  • 使用 Visual Studio 2015 在防火墙后面使用 npm

    我尝试利用 Visual Studio 2015 中新的 npm 支持 但遇到了一些问题 我位于公司防火墙后面 我尝试从 package json 文件中添加 grunt 并且可以看到与 npm 相关的输出 npm http GET htt
  • ASP.NET Core - 在 Visual Studio 2015 中通过 Docker 调试时出现问题

    我在 Visual Studio 中使用 Docker 运行基于 ASP NET Core 构建的应用程序时遇到问题 我的应用程序仅使用dnxcore50框架 我的project json 文件是 version 1 0 0 compila
  • VB.net 应用程序保留以前的版本

    我有一个正在发布的 Visual Basic 项目 并且每次都会增加版本号 当我安装新版本时 它会打开 但一旦应用程序重新启动 它似乎就会恢复到以前的版本 我不知道为什么 尝试更新发布应用程序时所需的最低版本 转到应用程序属性 gt 发布
  • 这段代码有什么问题。如果用户选择或不选择复选框,为什么它仍然显示 MsgBox? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 无论我是否选择复选框 它仍然会给出
  • 有没有办法使值只能由嵌套类 VB.NET 的父级访问?

    总的来说 根据OOP范式 我对封装的理解基本上是这样的 如果成员是私有的 则只能由类访问 如果成员受保护 则只能由基类和任何派生类访问它 如果成员是公开的 则任何人都可以访问 如果我有一个嵌套类 我可以声明一个属性只能由该类及其嵌套的父类访
  • 是否可以通过VC++属性表更改工作目录?

    我计划创建一些相关的 C 项目 这些项目都有几个共同的设置 输出路径 exe 命名约定 中间目录等 并且我已经成功设置了除工作之外的大部分我需要的设置 目录 默认情况下它设置为 ProjectDir 但我希望将其设置为 OutDir 并且我
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 尝试添加注册表项时出现未处理的异常

    当我使用以下代码时 My Computer Registry LocalMachine OpenSubKey SOFTWARE Microsoft Windows CurrentVersion Run True SetValue Appli
  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • vb.net:查找字符串中字符串的位置?

    vb net 中是否使用 instr 来实现此目的 使用 String IndexOf http msdn microsoft com en us library system string indexof aspx http msdn m
  • 使用 VB.NET 覆盖文本文件中的特定行

    我需要执行以下操作 更改文本文件中的行 Path c this certain path 用这条线 Path c that other newer path 这些路径的长度肯定会不同 因此我需要替换引号中的内容 或者完全擦除该行并输入一个新
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c

随机推荐