【发布时间】:2010-12-20 05:27:00
【问题描述】:
什么.... 如何在调试器中更改 DateTime 的值?我可以更改它,但离开编辑字段时出现错误;它无法解析它。
编辑:VS 2008,C#
【问题讨论】:
标签: c# visual-studio debugging datetime
什么.... 如何在调试器中更改 DateTime 的值?我可以更改它,但离开编辑字段时出现错误;它无法解析它。
编辑:VS 2008,C#
【问题讨论】:
标签: c# visual-studio debugging datetime
不看你有什么,我不确定你指的是哪个编辑字段。不过,您可以尝试使用即时窗口和DateTime.Parse 或new DateTime()。
【讨论】:
myDate = new DateTime(2009, 12, 25)
您可以在即时窗口中更改日期。
date = new DateTime(2009, 10, 05)
{05/Oct/2009 12:00:00 AM}
Date: {05/Oct/2009 12:00:00 AM}
Day: 5
DayOfWeek: Monday
DayOfYear: 278
Hour: 0
Kind: Unspecified
Millisecond: 0
Minute: 0
Month: 10
Second: 0
Ticks: 633902976000000000
TimeOfDay: {00:00:00}
Year: 2009
【讨论】:
我们可以直接在 Watch Window 中更改 DateTime 值。诀窍很简单:我们总是必须使用“new DateTime()”方法,并提供适当的参数。
监视窗口不允许您直接输入新值,因此“2010-07-13 9:15”甚至 {13/07/2010 09:00:00} 之类的内容不起作用。
【讨论】:
您可以在“即时”窗口、“监视”窗口或“快速监视”窗口中键入这样的内容,它们将被评估:
myDate = DateTime.Today.AddDays(2)
myDate = new DateTime(2009, 12, 25)
【讨论】:
如果你在括号之间定义你的 DateTime,你就可以做到。
(new DateTime(2017, 09, 27))
【讨论】:
如果您的意思是在 Visual Studio 调试器上尝试这样:
- 设置断点
- 例如,在 QuickWatch 中打开您的 DateTime 变量(右键单击)
- 在表达式文本框中输入新值,如果您的变量名称是“dt”,这是示例:
dt = dt.AddDays(3)
- 按回车并继续执行项目
【讨论】:
“dt =”部分并不是绝对必要的。只需键入“dt.AddDays(3)”或“new DateTime(...)”或 DateTime.Parse("") 等,调试器将尝试将您键入的表达式产生的任何值分配给变量受到监视;碰巧是因为 C# 有赋值表达式(例如 y = (x = 1); //sets y = 1),所以将表达式赋值给变量名是有效的。 :)
【讨论】:
最简单的选择(非通用)=>
例如在 watch window 内的 Value 输入中
输入DateTime.Now 然后回车
等等! :)
【讨论】:
您可以在调试器模式下以毫秒为单位更改非公共数据值,以进行更改。
【讨论】: