El ejemplo clasico de usar split es el siguiente:
char[] limit = new char[] {' '}; //Este es el caracter que va separar la frase en palabras
String frase= t1.Text; //Obtengo la frase de un TextBox
foreach (string palabra in frase.Split(limit)) //Recorro el split con un foreach
{
aviso.Text += palabra+" aa "; //Voy mostrando y concatenando las palabras, pero hasta la ultima palabra llevara aa
}
Pero yo tengo la siguiente restriccion, siempre que vaya a mostrar una palabra ya dividida le agregue " aa " excepto a la ultima palabra, ahi es donde me tope con el foreach porque no supe como preguntarle en que elemento va o cual es el ultimo, por tal motivo me tuve que aventar esta mexicanada:
List<String> lista = new List<String>(); //Creo una lista donde voy acumular las palabras separadas
char[] limit = new char[] {' '}; //Este es el caracter que va separar la frase en palabras
String frase= t1.Text; //Obtengo la frase de un TextBox
foreach (string palabra in frase.Split(limit)) //Recorro el split con un foreach
{
a.Add(palabra); //agrego cada palabra a mi Lista
}
//Ahora sigue mostrar las palabras que estan en la lista por medio de un for, porque puedo tener mas control sobre el.
for (int i = 0; i < a.Count; i++)
{
aviso.Text += a
.ToString(); //Voy mostrando las palabras que van apareciendo en la lista.
if (i + 1 < a.Count) //Pregunto: todavia hay una siguiente palabra?
aviso.Text += " aa "; //entonces muestro aa despues de la palabra
}
//Nota la ultima palabra por no tener siguiente no se le agrega aa, ¿Como puedo realizar esto con el puro foreach u otra clase?