4

在此处输入图像描述

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

更新 这似乎是一个 ReSharper 怪癖。重现:

  1. 输入带有“\a”的文字字符串。
  2. 应用重构“更改为 Verbatim Sring”
    • "\a" 在逐字字符串中变得不可见
    • "\a" 并没有真正消失。

更多来自即时窗口的证据显示手型 VS。复制粘贴。 在此处输入图像描述

4

1 回答 1

4

调试器不知道您使用编译器逐字样式来创建字符串。它只是使用最常见的非逐字表示形式来显示字符串。

逐字字符串,除了接受换行符之外,也不识别转义序列,因此作为钟形字符的 \a 在一种情况下最终为两个字符,而在不使用逐字样式时则为一个字符。

您可以在此处查找 C# 字符串文字的参考。

于 2011-03-21T18:15:04.750 回答