variable de solo lectura ¿???

17/03/2008 - 21:28 por Jose Vicente Cheto Ortiz | Informe spam
Hola amigos:

Ni que decir tiene que soy novato en C#.

Si declaro un string

string cadena="abcdef";

si luego posteriormente intento hacer esto.

cadena[i]='0'; // Siendo i por ejemplo 3

Me dice que la variable es de solo lectura.

¿Porque?
¿Como puedo acceder a un caracter del string y cambiarle el valor?

Saludos
JVte.Cheto

Preguntas similare

Leer las respuestas

#1 jcpc91
17/03/2008 - 22:11 | Informe spam
todos los string tanto en c# y Vb.net no se pueden cambiar si
necesitas cambiar el contenido de una cadena de caracteres puedes
probar esto

StringBuilder s = new StringBuilder("Wvwijerv04n0");
s.Replace('W', 'n', 0, 1);

la clase que utilizo es el StringBuilder
Respuesta Responder a este mensaje
#2 Guillermo guille
18/03/2008 - 21:13 | Informe spam
Las variables String de .NET son "inmutables", es decir, que no se pueden
modificar una vez creadas.
Si quieres cambiar una cadena o haces lo que te comenta jcpc91 usando
StringBuilder o bien vuelves a asignar a esa misma variable, el cambio que
hagas.
En tu caso sería:
cadena = cadena.Substring(0, i) + '0' + cadena.Substring(i+1);

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"Jose Vicente Cheto Ortiz" wrote in message
news:eHY4$
Hola amigos:

Ni que decir tiene que soy novato en C#.

Si declaro un string

string cadena="abcdef";

si luego posteriormente intento hacer esto.

cadena[i]='0'; // Siendo i por ejemplo 3

Me dice que la variable es de solo lectura.

¿Porque?
¿Como puedo acceder a un caracter del string y cambiarle el valor?

Saludos
JVte.Cheto

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida