Tengo un error en C#

Iniciado por Walle214, 21 Octubre 2018, 00:30 AM

0 Miembros y 1 Visitante están viendo este tema.

Walle214

Tengo esto en el código, donde etiqueta es un string y banco_palabras es un array de strings y numero_palabra un aleatorio
etiqueta.Substring( 0, 1) = banco_palabras[numero_palabra].Substring(0, 1);
y me da el siguiente error
Error   1   The left-hand side of an assignment must be a variable, property or indexer


O como puedo modificar un caracter de un string?


z3nth10n

#1
En vez de usar =, usa Substring(...).Replace(..., ...)

Con esto ya valdría:

Código (csharp) [Seleccionar]
etiqueta = etiqueta.Replace(equiteta.Substring(0, 1), banco_palabras[numero_palabra].Substring(0, 1));

Básicamente, estás asignando un valor a una función (método del tipo nativo string) cosa que no se puede.

Interesados hablad por Discord.

Walle214

Es que antes de eso, lleno etiqueta de puros guiones cortos (algo así ---------) y si en banco_palabras[numero_palabra] tengo MANUELITO, necesito que etiqueta quede M-------- pero con eso me queda MMMMMMMMM

z3nth10n

Eso ocurre porque banco_palabras[numero_palabra] seguramente será MANUELITO y si haces un substring(0, 1), esto devuelve una "M"...

Lo que deberías hacer:

Código (csharp) [Seleccionar]
etiqueta = etiqueta.SubString(0, 1) + new string('-', etiqueta.Length - 2);

Interesados hablad por Discord.