O Split é usado para dividir uma string em pequenos pedaços. Para isso, seu método retorna um array de strings, contendo as respectivas partes, definidas de acordo com a string passada como parâmetro, que na verdade funciona como o “agente” divisor da mesma.

De uma forma resumida pense na string “micro-ondas” (sim, a nova regra ortográfica fez isso conosco!). Supondo que desejamos dividi-la pelo hífen, teríamos que fazer a implementação ilustrado na Listagem 1, feita em um Console Application.

Listagem 1.Método Split

string texto = "micro-ondas";

    string[] retornoSplit = texto.Split('-');

    Console.WriteLine(String.Format("Posição 0:  \nPosição 1: ", 
      retornoSplit[0], retornoSplit[1]));

    Console.ReadKey();

Note que o método Split espera um char como parâmetro, por isso são usadas as aspas simples. O resultado do código acima é ilustrado pela Figura 1.

String dividida em dois
Figura 1.String dividida em dois

Isso é simples, se soubermos em quantos elementos serão divididos nossa string. Mais e se não soubermos? Para isso podemos utilizar um laço for. Suponhamos que nossa string seja “micro-ondas-micro-ondas-micro-ondas”. A Listagem 2 ilustra como podemos fazer para descobrir o número de elementos do array de strings e iterar os valores.

Listagem 2. Iterando os valores de um Array de Strings

string texto = "micro-ondas-micro-ondas-micro-ondas";

   string[] retornoSplit = texto.Split('-');

   int numeroElementos = retornoSplit.Length;

   for (int i = 0; i < numeroElementos; i++)

   {

       Console.WriteLine(String.Format("Posição " + i.ToString() +
          ": \n", retornoSplit[i]));

   }
   Console.ReadKey();

O uso do Split em seu código, em certas situações, é uma “mão na roda”. O resultado do código acima évisto na Figura 2.

String dividida em seis
Figura 2. String dividida em seis

IndexOf

Esse método é simples: serve para sabermos qual índice determinado pedaço da string corresponde. Ele retorna um valor do tipo int. A Listagem 3 ilustra como utilizá-lo.

Listagem 3. Método IndexOf

string texto = "micro-ondas-micro-ondas-micro-ondas";

            int indice = texto.IndexOf("-");

O valor da variável será cinco. Simples assim.