A forma mais comum de criar um array e desta forma:
No exemplo acima, usei emails e "," como separador. Essa seria basicamente a extrutura de um arquivo CSV.
Agora imagine que você precisa importar uma lista de emails que venham no formato CSV. Se você não souber a origem do arquivo, ou seja, exportado por diversas ferramentas, você pode se deparar com alguns problemas, como por exemplo os separadores.
O CSV deveria ser separado por vírgula como seu próprio nome diz, valores separados por vírgulas (Comma Separated Values).
Mas na prática isso não funciona assim, pois também temos os arquivos separados por ";", mais detalhes neste link: http://en.wikipedia.org/wiki/Comma-separated_values
Então para fazer a separação tanto de vírgula como de ponto e vírgula e ainda eliminar os valores em branco, podemos fazer assim:
//neste exemplo temos uma string com valores separados por vírgula e ponto e vírgula.
//inclusive um valor em branco que fica entre o email3 e o email5.
string _valores = "[email protected],[email protected];[email protected],,[email protected]";
char[] separadores = new char[] { ';', ',' };
//usando 2 tipos de separadores.
string[] arr = _valores.Split(separadores, StringSplitOptions.RemoveEmptyEntries);
foreach (var item in arr) {
Response.Write(item + "<br />");
}
Resultado:
[email protected]
[email protected]
[email protected]
[email protected]
Podemos observar que no resultado abaixo que os emails foram separados tanto por "," como por ";" e com o uso do StringSplitOptions.RemoveEmptyEntries, não ficou uma lacuna entre o email 3 e o 5.