Visual Studio 调试器中的 C# 格式说明符

可以使用格式说明符更改值在 “监视 ”窗口中显示的格式。 还可以在 “即时 ”窗口、 命令 窗口、 跟踪点和源窗口中使用格式说明符。 如果在这些窗口中停留在某个表达式上,结果将以指定的格式显示在 DataTip 中。

若要使用格式说明符,请输入变量表达式,后跟逗号和相应的说明符。

设置格式说明符

我们将使用以下示例代码:

{
    int my_var1 = 0x0065;
    int my_var2 = 0x0066;
    int my_var3 = 0x0067;
}

在调试时将 my_var1 变量添加到 “监视 ”窗口, 调试>Windows>Watch>1。 接下来,右键单击变量并选择 “十六进制显示”。 现在, “监视 ”窗口会显示值0x0065。 若要将此值视为十进制整数而不是十六进制整数,请在变量名称之后的 Name 列中添加十进制格式说明符。 “值”列现在显示 101

Visual Studio 监视窗口的屏幕截图,其中一行显示 my_var1 和 d,d 的值为 101,类型为 int。

可以通过在 “监视” 窗口中的值后附加逗号 (,)来查看和选择可用的格式说明符列表。

FormatSpecCSharp

格式说明符

下表描述了 Visual Studio 调试器的 C# 格式说明符。

说明符 Format 原始监视值 显示
交流 强制计算表达式,当关闭属性和隐式函数调用的隐式计算时,这非常有用。 消息“用户已关闭隐式函数评估” <数值>
d 十进制整数 0x0065 101
dynamic 使用动态视图显示指定的对象 显示对象的所有成员,包括动态视图 仅显示动态视图
h 十六进制整数 61541 0x0000F065
nq 不带引号的字符串 “我的字符串” 我的字符串
nse 指定行为,而不是格式。 对表达式进行评估时“无副作用” 如果无法解析该表达式,并且只能通过评估(如函数调用)来解决,你将会看到错误信息。 N/A N/A
隐藏 显示所有公共和非公共成员 显示公共成员 显示所有成员
raw 在原始项目节点中按原样显示项目。 仅在代理对象上有效。 <字典 T> 字典<T 的原始视图>
results 与实现 IEnumerable 或 IEnumerable<T> 的类型变量一起使用,通常是查询表达式的结果。 仅显示包含查询结果的成员。 显示所有成员 显示满足查询条件的成员