2009-11-25 19 views

Respuesta

38

Sin mirar a lo que tienes, no estoy muy seguro de qué campo de edición que usted se refiere. Sin embargo, puede intentar usar la ventana inmediata y DateTime.Parse o new DateTime() en su lugar.

+1

Por ejemplo, en la ventana del reloj; un DateTime se mostrará como {03/12/2009 00:00:00}, pero si cambio, p. la fecha para 04 en lugar de 03, me sale un error de VS: término de expresión no válido '{' – Rabbit

+2

Gracias (también usted, espectador), eso es lo que necesitaba. Aunque creo que es una mierda :-) El depurador debería soportar eso. – Rabbit

27

Puede cambiar la fecha en la ventana Inmediato.

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

Si la fecha no es de solo lectura ... pero él está pidiendo cambiar el valor de un DateTime ... su solución es cambiar la referencia. La respuesta debería ser: no se puede, porque es inmutable, ¿no? – tanascius

+1

La fecha es inmutable, pero esto crea un nuevo objeto de fecha que puede asignar a la variable que desea cambiar. – kristianp

7

Puede escribir cosas como esta en la ventana Inmediato, la ventana Inspección o la ventana Inspección rápida y que recibirán evaluado:

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

Si se refiere en depurador de Visual Studio tratar como esto :
- establecer el punto de interrupción
- abrir la variable DateTime en Inspección rápida, por ejemplo (clic derecho)
- en el cuadro de texto Expresión introduce un nuevo valor, esto es ejemplo si su nombre de la variable es "DT":
dt = dt.AddDays (3)
- Pulse ENTER y continuar la ejecución del proyecto

0

El "dt =" porción no es estrictamente necesario. Simplemente escriba "dt.AddDays (3)" o "new DateTime (...)" o DateTime.Parse (""), etc., y el depurador intentará asignar cualquier valor que resulte de la expresión que escriba a la variable bajo vigilancia; simplemente sucede que debido a que C# tiene expresiones de asignación (por ejemplo, y = (x = 1); // establece y = 1) la asignación de la expresión al nombre de la variable funciona. :)

+0

Las firmas se consideran malas formas. Por favor, lea las preguntas frecuentes para más detalles. – IronMan84

14

Podemos cambiar un valor de fecha y hora directamente en la ventana de observación. El truco es simple: siempre tenemos que usar un "nuevo método DateTime()", que proporciona los parámetros adecuados.

La ventana de observación no le permite escribir un nuevo valor directamente, por lo que cosas como "2010-07-13 9:15" o incluso {13/07/2010 09:00:00} no funcionan .

+3

Puede hacer esto pasando el mouse directamente sobre la variable sin tener que usar la ventana Inspección. Funciona en Visual Studio 2012. No sé sobre versiones anteriores. –

+0

Gracias, usando el nuevo DateTime (...) ¡fue el truco! Este era un miembro de la clase, y "token.expiry = new Datetime (...)" en la ventana inmediata falló con "object reference not set to instance of a object". –

0

Puede hacerlo si define su DateTime entre paréntesis.

(new DateTime(2017, 09, 27)) 
Cuestiones relacionadas