【发布时间】:2015-11-28 12:04:49
【问题描述】:
在 Visual Studio 2015 中,当我通过键入左大括号“{”在变量中写入插值字符串时,可以实现以下目标:
var a = $"{}";
会自动插入第二个结束括号,颜色为红色或粉红色
var a = $"{}}"
在括号 '{}' 内插入变量并尝试编译后,Visual Studio 抛出错误:“CS8086: '}' 字符必须在插值字符串中进行转义(通过加倍)。”。这是有道理的,但根本不能解释为什么第二个'}'首先出现!我不想写一个'}'字面字符;我只是想写一个常规的插值字符串——一个'}'对应一个'{'。每次我去使用插值字符串时,为了编译成功,我都不得不手动删除这个异常的第二个右括号。
最奇怪的是,它似乎并不总是发生。如果您从插值字符串中删除“{}}”并再次输入单个“{”,您将得到“{}” - 正如您一开始所期望的那样。
这种行为是怎么回事?
【问题讨论】:
-
这不是题外话。帮助中心明确表示问题可能包括“程序员常用的软件工具”
-
VS2015 RTM 有很多编辑器错误和怪癖,但这不是其中之一。您必须寻找执行此操作的加载项并向所有者提交错误。
标签: c# visual-studio-2015