si string es un caso complejo y provoca bastantes problemas por ser
reference type que se copia como value type...al menos para el que no lo
tiene presente...

Pero bueno la regla viene por value type/reference type ... yyyy como todo
en este mundo se encuentran excepciones :).

Gustavo.

2009/2/6 Angel Java Lopez <webmas...@ajlopez.com>

>  Hola gente!
>
>  No solo en tipos valor, vean que String tambien tiene ese patron. Es por
> decision de hacer los Strings inmutables, algo que viene, hmmm.... digamos
> desde los C++ Idioms de Coplien, se adopto en Java, y ahora lo tenemos en
> .NET.
>
>
>
> Nos leemos!
>
>  Angel "Java" Lopez
>
> http://www.ajlopez.com
>
> http://twitter.com/ajlopez
>
>
>
> *From:* puntonet@mug.org.ar [mailto:punto...@mug.org.ar] *On Behalf Of 
> *Leonardo
> Micheloni
> *Sent:* Friday, February 06, 2009 2:27 PM
> *To:* puntonet@mug.org.ar
> *Subject:* [puntonet] Bucle con Fechas
>
>
>
> OK, sí, digo una cuestión de diseño porque viendo el código de la
> estructura DateTime se podría haber incrementado su contador interno en le
> método Add para que se incremente a sí mismo, de todos modos no me había
> dado cuenta que pasa en todos los tipos por valor, buena info.
>
> saludos, Leonardo Micheloni.
>
>
>
> 2009/2/6 Gustavo Ringel <gustavo.rin...@gmail.com>
>
> No hay nada raro, StringBuilder es reference type y DateTime es Value Type,
> y asi esta definido por Disenio en el Framework,
>
> Todos los values types ante cualquier accion crean una nueva copia en el
> stack, los reference types mantienen un puntero al heap el cual referencia
> al stack y esto es lo que cambia en el caso de un reference type
>
> Para informacion mas tecnica y detallada busquen c# reference type y value
> type y veran dibujos explicaciones mas extendidas.
>
> Abrazo.
>
> Gustavo.
>
> cuando haces date.AddDays() se crea en el stack una copia.
> Si fuera
>
> 2009/2/6 Leonardo Micheloni <leonardogabrielmichel...@gmail.com>
>
> Lo que pasa es que tu incremento dentro del bucle no está bien, hay un
> patrón que se repite por todo el framework que es algo raro, mirá, vos
> esperás (como es lógico) que el método Add de DateTime incremente la misma
> variable, pero no, devuelve un nuevo DateTime incrementado, o sea, tu código
> debería ser algo así:
>
>   DateTime fechatermino = DateTime.Today.AddDays(1);
>
>   for (DateTime fechainicio = DateTime.Today; fechainicio <= fechatermino;
> fechainicio = fechainicio.AddDays(1))
>   {
>   Console.WriteLine(fechainicio);
>   }
>
> Este extraño patrón está en varios lugares, pero no en todos, por el
> ejemplo StringBuilder se comporta de la manera lógica...en fin, cosas del
> diseño..
>
> saludos, Leonardo Micheloni.
>
>
>
>
>
> 2009/2/6 Andres Guzman <andres.guzman...@gmail.com>
>
>  Camaradas tengo una duda, como puedo hacer un bucle entre variables tipo
> DATETIME, o sea algo asi
>
>
>
> while(FECHAINICIO <= FECHATERMINO)
>
> {
>
> blablabla;
>
> FECHAINICIO.ADDDAYS(1);
>
> }
>
>
>
> o
>
>
>
> for(fechainicio; fechainicio<=fechatermino;fechainicio.adddays(1))
>
> {
>
> blalbalablalalblba
>
> }
>
> Trato pero no puedo
>
>
>
>
>
>
>

Responder a