C sharp - ¿Por qué no puedo modificar el string?

   
Vista:

¿Por qué no puedo modificar el string?

Publicado por JacoboPolavieja (1 intervención) el 26/05/2009 11:34:01
Hola y gracias por leer,

Llevo un buen rato pegándome con una chorrada de código en C#, pero no consigo hacerlo funcionar como quiero.

El código es este:
--------------------------------------------
if (!timeAlreadyDone)
{
timeEnd = DateTime.Now;

MessageBox.Show("Time End is: " + timeEnd.ToString("HH:mm"));
timePassed = timeEnd - timeBeginning;
MessageBox.Show("Time (passed) is: " + timePassed.Minutes.ToString());
MessageBox.Show("Time (beginning) is: " + timeBeginning.ToString("dddd HH:mm"));
//MessageBox.Show("TimePassed is: " + timePassed.ToString());
if (timePassed.Minutes >= minutesToLog)
{
StringBuilder sb = new StringBuilder();
sb.Append(timeBeginning.ToString("dddd HH:MM"));
sb.Append("-");
sb.Append(timeEnd.ToString("HH:MM"));
sb.Append(" ");
sb.Append((numberOfWinnings / numberOfGames * 100).ToString());
sb.Append("%");
MessageBox.Show("Stringbuilder is: " + sb.ToString());
System.IO.StreamWriter sw = new System.IO.StreamWriter(myFile, true);
sw.WriteLine(sb.ToString());
//timeBeginning = DateTime.Now;
sw.Close();
}
timeAlreadyDone = true;
}
---------------------------------------------
El caso es que, aunque las variables de tiempo tienen los valores correctos, en el fichero SIEMPRE me escribe la misma hora, tanto para timeBeginning como timeEnd (que, como digo, no corresponde con el valor de sus variables).

He probado con strings normales, con stringbuilders, etc... y no entiendo por qué acaba escribiendo siempre la misma hora en todas las iteraciones, a pesar de que las variables contengan datos distintos.

Me he leído bastantes cosas sobre los string en C# y no consigo entender por uqé no funcionan. Aunque los strings sean inmutables, se supone que con StringBuilder se podían hacer este tipo de cosas... pero debo estarme equivocando en algo de base.

¿Alguna pista?

¡Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder