Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Walle214 en 21 Octubre 2018, 00:30 am



Título: Tengo un error en C#
Publicado por: Walle214 en 21 Octubre 2018, 00:30 am
Tengo esto en el código, donde etiqueta es un string y banco_palabras es un array de strings y numero_palabra un aleatorio
Código:
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?



Título: Re: Tengo un error en C#
Publicado por: z3nth10n en 21 Octubre 2018, 06:50 am
En vez de usar =, usa Substring(...).Replace(..., ...)

Con esto ya valdría:

Código
  1. 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.


Título: Re: Tengo un error en C#
Publicado por: Walle214 en 21 Octubre 2018, 21:40 pm
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


Título: Re: Tengo un error en C#
Publicado por: z3nth10n en 22 Octubre 2018, 21:09 pm
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
  1. etiqueta = etiqueta.SubString(0, 1) + new string('-', etiqueta.Length - 2);