Ordenação de String Com Vetor
Existem diversas maneiras para ordenarmos uma lista de string. Neste artigo, irei mostrar alguns métodos de se fazer isso com exemplos contendo alguns métodos.
Bom acho que todos já precisaram ordenar por algum motivo uma lista de informações, do tipo texto, como nomes por exemplo, e existe varias formas de se fazer isso estarei apresentando aqui algumas delas.
Vamos usar uma classe chamada StringComparer para comparar duas strings, essa classe possui o método que usaremos para compara-las e no nosso caso esse método é o InvariantCultureIgnoreCase e usaremos o OrdinalIgnoreCase.
O método InvariantCultureIgnoreCase compara sequências de uma maneira linguisticamente relevantes que ignora maiúsculas e minúsculas, mas não é adequado para exibição em qualquer formatação particular.
E usaremos a propriedade OrdinalIgnoreCase trata os caracteres em sequências na hora de comparar como se fossem convertidos em maiúsculas, e em seguida, executa uma comparação byte simples que é independente da linguagem, ele é mais apropriado quando se compara strings que são gerados de forma programada.
E para utilizar esse método usaremos um outro método Array. Sort para classificar a matrizes (unidimensional) ou o vetor, elei internamente usar o algoritmo Quicksort, utilizaremos essa classificação simplesmente para que o método de comparação posso comparar cada componente da matriz ou vetor.
E usaremos o método Equals para compararmos duas string, detalhe ele diferencia o minusculo do maiúsculo, para o método Equals, a letra "d" é diferente de "D".
public class ordenacaoVetorString
{
static void Main(string[] args)
{
//Cria e Inicializa o Array de Strings
string[] europa = { "Bânia", "Andorra", "Hungria", "Belarus", "Eslováquia", "Bélgica",
"Bósnia", "Herzegóvina", "Bulgária", "Croácia", "Dinamarca",
"Eslovênia", "Espanha", "Alemanha", "Estônia", "Federação Russa", "Finlândia", "França",
"Grécia", "Holanda", "Áustria", };
string[] asia = { "Amboja", "Catar", "Cazaquistão", "China", "Coreia do Norte",
"Coreia do Sul",
"Emirados Árabes Unidos", "Geórgia", "Iêmen", "Irã", "Iraque",
"Israel", "Jordânia", "Kuwait", "Laos", "Líbano", "Malásia", "Mongólia",
"Mianmar", "Nepal", "Omã", "Paquistão", "Quirguistão", "Síria", "Tailândia",
"Tajiquistão", "Turcomenistão", "Uzbequistão", "Vietnã", "Barein", "Brunei",
"Cingapura", "Filipinas", "Ilhas Maldivas", "Indonésia", "Japão", "Sri Lanka",
"Timor Leste", "Palestina", "Macau", "Tibete", "Hong Kong", "Taiwan" };
StringComparer ordenar = StringComparer.InvariantCultureIgnoreCase;
Array.Sort(europa, ordenar);
Console.WriteLine();
Console.WriteLine("Em ordem alfabética:");
for (int i = 0; i < europa.Length; i++)
Console.WriteLine(europa[i]);
StringComparer ordena = StringComparer.OrdinalIgnoreCase;
Array.Sort(asia, ordena);
Console.WriteLine();
Console.WriteLine("Em ordem alfabética:");
for (int i = 0; i < asia.Length; i++)
Console.WriteLine(asia[i]);
Console.WriteLine();
//aqui só compara as duas letras para vermos que o método equals diferencia
bool te = "d".Equals("D");
Console.WriteLine(te);
//Pausa o programa
Console.ReadKey();
}
}
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo