Fecha y hora en C # agregar días

Quiero añadir días en alguna fecha. Tengo un código como este:

DateTime endDate = Convert.ToDateTime(this.txtStartDate.Text); Int64 addedDays = Convert.ToInt64(txtDaysSupp.Text); endDate.AddDays(addedDays); DateTime end = endDate; this.txtEndDate.Text = end.ToShortDateString(); 

¡Pero este código no funciona, los días no se agregan! ¿Qué error estúpido estoy haciendo?

DateTime es inmutable. Eso significa que no puede cambiar su estado y tiene que asignar el resultado de una operación a una variable.

 endDate = endDate.AddDays(addedDays); 

Necesitas atrapar el valor de retorno.

El método DateTime.AddDays devuelve un objeto cuyo valor es la sum de la fecha y la hora de la instancia y el valor agregado.

 endDate = endDate.AddDays(addedDays); 

AddDays() debe a que el método AddDays() devuelve un nuevo DateTime , que no está asignando o utilizando en ningún lugar.

Ejemplo de uso:

 DateTime newDate = endDate.AddDays(2); 

Asigne la fecha de finalización a una variable de fecha porque el método AddDays devuelve el nuevo Datetime como resultado.

 Datetime somedate=endDate.AddDays(2); 

¿Por qué usas Int64 ? AddDays exige un double valor para ser agregado. Entonces necesitarás usar el valor de AddDays. de AddDays. Ver aqui

Utilizar esta:

  DateTime dateTime = new DateTime(); dateTime = DateTime.Now; DateTime newDateTime = new DateTime(); TimeSpan NumberOfDays = new TimeSpan(2, 0, 0, 0, 0); newDateTime = dateTime.Add(NumberOfDays);