2009-11-25 1102 views
39

どういたしまして、デバッガでDateTimeの値を変更するにはどうすればいいですか?私はそれを変更することができますが、編集フィールドを離れるときにエラーが発生します。それを解析することはできません。Microsoft Visual StudioデバッガでDateTimeを変更します

編集:VS 2008、C#

答えて

38

あなたが持っているものを見ずに、私はあなたが言及しているものを編集フィールドは本当にわかりません。ただし、直接ウィンドウとDateTime.Parseまたはnew DateTime()を代わりに使用してみることもできます。

+1

たとえば、監視ウィンドウでは、 DateTimeは{03/12/2009 00:00:00}と表示されますが、変更した場合など03の代わりに04に日付、私はVSからエラーが表示されます:無効な式の用語 '{' – Rabbit

+2

ありがとう(また、あなたは、)、それは私が必要なものです。私はそれがうまくいくと思う:-)デバッガーはそれをサポートする必要があります。 – Rabbit

27

イミディエイトウィンドウで日付を変更することができます。

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 
+0

日付が読み込み専用ではないのですが、彼はDateTimeの値を変更するよう求めています...解決策は参照を変更することです。答えは変わらないはずなので、そうではありませんか? – tanascius

+1

日付は不変ですが、変更する変数に割り当てることができる新しい日付オブジェクトが作成されます。 – kristianp

7

あなたがイミディエイトウィンドウ、ウォッチウィンドウ、または[クイックウォッチ]ウィンドウには、このようなものを入力することができ、それらが評価されます:

myDate = DateTime.Today.AddDays(2) 
myDate = new DateTime(2009, 12, 25) 
1

は、Visual Studioデバッガに意味場合は、次のようにしてみてください:
- ブレークポイント
を設定する - たとえば[クイックウォッチであなたのDateTime変数を開く(右クリック)
- あなたの変数名が「DT」であれば、式のテキストボックスに新しい値を入力し、これは一例です:
DT = dt.AddDays(3)
- 押して入力して、 "DT =" 部分は厳密には必要ではないプロジェクト

0

を実行し続けます。 "dt.AddDays(3)"や "new DateTime(...)"や "DateTime.Parse(" ")などを入力するだけで、デバッガは入力した式の結果を変数に代入しようとします時計の下で;式の変数名への代入式が機能するので、C#には代入式(たとえばy =(x = 1); // y = 1を設定する)があるためです。 :)

+0

署名は不正な形式とみなされます。詳細についてはFAQをお読みください。 – IronMan84

14

ウォッチウィンドウでDateTime値を直接変更できます。トリックは簡単です:適切なパラメータを指定して、常に「新しいDateTime()」メソッドを使用する必要があります。

ウォッチウィンドウでは、新しい値を直接入力することはできないため、 "2010-07-13 9:15"や{13/07/2010 09:00:00}のようなものは機能しません。

+3

これは、ウォッチウィンドウを使用せずに、変数上で直接マウスをホバリングすることができます。 Visual Studio 2012で動作します。以前のバージョンについてはわかりません。 –

+0

ありがとうございました、新しいDateTime(...)を使用して、トリックでした!これはクラスのメンバであり、イミディエイトウィンドウの "token.expiry = new Datetime(...)"は "オブジェクト参照がオブジェクトのインスタンスに設定されていません"で失敗しました。 –

0

カッコで囲んでDateTimeを定義すると、これを行うことができます。

(new DateTime(2017, 09, 27)) 
関連する問題