Ayuda C# converir un string (.text) a lines (.lines)

Darren01

Bovino maduro
#1
Hola comunidad!

Les vengo a consultar lo siguiente u_u si alguien me puede ayudar le agradeceria mucho, pues ando haciendo un sistema en c#, y ahorita especificamente ando trabajando con "rich text box ó rtb". Lo q tengo q hacer es pasar el text de un "rtb1.text" a lines de otro "rtb2.lines".
Text y Lines son propiedades del rtb, cuando lo intento hacer de esta forma me dice:

rtbIngresos1.Lines = rtbIngresos2.Text;
//Cannot implicitly convert type 'string' to 'string[]'

Entiendo q .text me da o regresa una cadena (string) y q lo q espera recibir .lines es un arreglo de strings (si es asi o nones) o_______Oa Ojala alguien me pueda asesorar q ahora si me siento bien noob u_u.

Agradesco de antemano su ayuda comunidad.
Saludos
 

oldBoy

Bovino adicto
#2
Mmm pues no se de C# pero me imagino que como Lines es un array de strings debes especificar que elemento del array quieres asignar a rtbIngresos2.Text;
como por ejemplo arrastring[0] te devuelve el string que esta en la posición 0.
Espero te haya ayudado
 
#3
Puedes usar la funcion split de la clase string pasandole como parametro el ascii del retorno de linea y esto te devuelve un string[] como lo nececitas, seria algo asi:

string[] lineas;
char[] c={'\n'};

lineas=texto.split(c);
 

coloboxp

Bovino adolescente
#4
Complementando lo que dijo eversm, te recomendaría utilizar la constante de salto de línea ( Environment.NewLine ) y luego utilizar el método ToCharArray() para pasarlo a un arreglo de caracteres, por último especificar si deseas eliminar las líneas vacías (StringSplitOptions.RemoveEmptyEntries) o si las quieres dejar ( StringSplitOptions.None ).

Así:

Código:
rtbIngresos1.Lines = rtbIngresos2.Text.Split( Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

o

rtbIngresos1.Lines = rtbIngresos2.Text.Split( Environment.NewLine.ToCharArray(), StringSplitOptions.None);
O no te convendría asignar directamente el valor del RichText Box en su propiedad .Text ?, más fácil no?

Código:
rtbIngresos1.Text = rtbIngresos2.Text;
saludos
 
Arriba