Ela*_*tor 5 c# debugging time-format visual-studio
我试图在 Visual Studio 中调试一些需要毫秒精度的东西,这使得它变得非常繁重,因为a 的无参数 表示不包括毫秒部分。ToString()System.DateTime
一个例子是,当验证数组System.DateTime是否有序时,我希望能够在从本地窗口检查时看到毫秒部分。
我并不是在寻求有关格式字符串的帮助DateTime.ToString
它似乎继承自系统全球化设置,该设置不允许您指定毫秒格式(出于良好、明显的原因):

谢谢。
小智 5
在回答之前,我首先想回应一下您对这个问题的评论:
这就需要写代码了。我说的是在调试时检查值。
我的答案确实涉及编写一行代码;但是,它仅影响调试器可视化工具,并且仅影响 的每个实例DateTime,并且不会影响代码的运行时性能。
那是说:
您可以添加程序集级属性DebuggerDisplay来更改调试器对类的可视化方式。这是我自己的代码的一个基本示例:
[assembly: DebuggerDisplay("Start={StartDate} | End={EndDate}]", Target = typeof(DateRange))]
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,第一个参数是一个字符串,定义您想要在调试器中看到的模板。
您可以将其放置在任何文件中,但老实说,它属于具有其他程序集级属性的 AssemblyInfo.cs 文件。
现在,我认为在你的情况下,你会想让字符串参数像这样(我还没有尝试过):
[assembly: DebuggerDisplay("{ToString(\"fff\")}", Target = typeof(DateTime))]
Run Code Online (Sandbox Code Playgroud)
如果这是不正确的,请随时告诉我,我会进行必要的更正。
| 归档时间: |
|
| 查看次数: |
1415 次 |
| 最近记录: |