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