O método BinarySearch permite com que dois arrays possam ser filtrados.
Neste exemplo, vou mostrar como funciona esse método usando dois tipos de arrays, declarados como "funcionarios" e "salarios".
string[] funcionarios = { "Maria", "Pedrinho", "Joaozinho", "Zezinho" };
decimal[] salarios = { 1500.33m, 2300.42m, 1700.87m, 2000.00m };
O que queremos com isso, é que o primeiro item do vetor funcionarios, tenha o salario do primeiro item do vetor salarios, e assim respectivamente.
Vamos declarar agora, uma variável que guardará o nome do funcionário que queremos localizar.
string nome = "Joaozinho";
Precisamos agora, declarar um índice, para localizarmos os itens dentro do vetor salarios e atribuirmos a ele o método BinarySearch.
int i;
// localizamos em funcionarios o valor de variavel nome.
i = Array.BinarySearch(funcionarios, nome);
// i = 3, pois Joaozinho está na posição 3 do vetor funcionarios
Agora, basta atribuirmos a uma outra variavel do mesmo tipo da variavel salarios para localizar o valor do indice i.
// procura em salarios o valor de i (3)
decimal procurar = salarios[i];
Há um problema em relação a isto, pois o BinarySearch só funciona se os itens do vetor estiverem em ordem crescente, neste caso, em ordem alfabética. Para resolver este problema, utilizamos o método Sort do Array.
Array.Sort(funcionarios, salarios);
Desta forma, ele organiza em ordem alfabética o vetor funcionarios e deixa os valores do vetor salarios na mesma posição.
Pronto! Basta mandar escrever o resultado.
Código completo:
int i;
string[] funcionarios = { "Maria", "Pedrinho", "Joaozinho", "Zezinho" };
decimal[] salarios = { 1500.33m, 2300.42m, 1700.87m, 2000.00m };
string nome = "Joaozinho";
Array.Sort(funcionarios,salarios);
i = Array.BinarySearch(funcionarios, nome);
decimal procurar = salarios[i];
Console.WriteLine(nome + " recebe " + procurar + " reais.");
Console.ReadKey();
Abraços e até a proxima.
Neste exemplo, vou mostrar como funciona esse método usando dois tipos de arrays, declarados como "funcionarios" e "salarios".
string[] funcionarios = { "Maria", "Pedrinho", "Joaozinho", "Zezinho" };
decimal[] salarios = { 1500.33m, 2300.42m, 1700.87m, 2000.00m };
O que queremos com isso, é que o primeiro item do vetor funcionarios, tenha o salario do primeiro item do vetor salarios, e assim respectivamente.
Vamos declarar agora, uma variável que guardará o nome do funcionário que queremos localizar.
string nome = "Joaozinho";
Precisamos agora, declarar um índice, para localizarmos os itens dentro do vetor salarios e atribuirmos a ele o método BinarySearch.
int i;
// localizamos em funcionarios o valor de variavel nome.
i = Array.BinarySearch(funcionarios, nome);
// i = 3, pois Joaozinho está na posição 3 do vetor funcionarios
Agora, basta atribuirmos a uma outra variavel do mesmo tipo da variavel salarios para localizar o valor do indice i.
// procura em salarios o valor de i (3)
decimal procurar = salarios[i];
Há um problema em relação a isto, pois o BinarySearch só funciona se os itens do vetor estiverem em ordem crescente, neste caso, em ordem alfabética. Para resolver este problema, utilizamos o método Sort do Array.
Array.Sort(funcionarios, salarios);
Desta forma, ele organiza em ordem alfabética o vetor funcionarios e deixa os valores do vetor salarios na mesma posição.
Pronto! Basta mandar escrever o resultado.
Código completo:
int i;
string[] funcionarios = { "Maria", "Pedrinho", "Joaozinho", "Zezinho" };
decimal[] salarios = { 1500.33m, 2300.42m, 1700.87m, 2000.00m };
string nome = "Joaozinho";
Array.Sort(funcionarios,salarios);
i = Array.BinarySearch(funcionarios, nome);
decimal procurar = salarios[i];
Console.WriteLine(nome + " recebe " + procurar + " reais.");
Console.ReadKey();
Abraços e até a proxima.
0 comentários:
Postar um comentário