Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么这个逐字字符串不能像我期望的那样用于单元测试断言并在调试器中显示一个奇怪的值?_C#_Debugging_Mstest_Verbatim - Fatal编程技术网

C# 为什么这个逐字字符串不能像我期望的那样用于单元测试断言并在调试器中显示一个奇怪的值?

C# 为什么这个逐字字符串不能像我期望的那样用于单元测试断言并在调试器中显示一个奇怪的值?,c#,debugging,mstest,verbatim,C#,Debugging,Mstest,Verbatim,问题:为什么调试器显示“directagents\a\aaNodeId”而不是逐字字符串@“directagents\aaNodeId”的值 更新 这似乎是一个再竖琴的怪癖。 复制: 输入一个带有“\a”的文字字符串 应用重构“更改到逐字记录” “\a”在逐字字符串中不可见 “\a”并没有真正消失 来自即时窗口的更多证据显示手写与复制/粘贴。 调试器不知道您使用编译器样式创建字符串。它只是使用最常见的表示法(不是逐字显示)显示字符串 逐字字符串除了接受新行外,还不能识别转义序列,因此\A(钟

问题:为什么调试器显示“directagents\a\aaNodeId”而不是逐字字符串@“directagents\aaNodeId”的值

更新 这似乎是一个再竖琴的怪癖。 复制:

  • 输入一个带有“\a”的文字字符串
  • 应用重构“更改到逐字记录”
    • “\a”在逐字字符串中不可见
    • “\a”并没有真正消失
  • 来自即时窗口的更多证据显示手写与复制/粘贴。
    调试器不知道您使用编译器样式创建字符串。它只是使用最常见的表示法(不是逐字显示)显示字符串

    逐字字符串除了接受新行外,还不能识别转义序列,因此\A(钟形字符)在一种情况下作为两个字符,在不使用逐字样式时作为一个字符


    您可以查找C#字符串文字的引用。

    这不是我的经验(visual studio 2010,.NET 4)我认为Matt是对的-我重新键入了代码行,它给了我一个不同的结果,这使我意识到通过ReSharper重构,bell字符隐藏在字符串中。。。我还应该说“谢谢”,因为它让我想到\a是一个bell char:)