Usuário com melhor resposta
Comparar dois Vetores

Pergunta
-
Bom dia Pessoal,
gostaria de saber se tem como, se tiver me mostrar como posso fazer, para comparar dois vetores sem precisar criar um laço e comparar item a item, ou seja, se tem alguma função que retorna Verdadeiro caso todos os elementos do Vetor A seja iguais ao Vetor B.
Des de já, obrigado pela ajuda.
Respostas
-
Veja um exemplo: (fiz em C#)
//declaro os 2 vetores
int[] teste1 = new int[] { 1, 2 };
int[] teste2 = new int[] { 1, 2 };
//esse array será usado para saber o resultado final
int[] resultFinal;
//essa variável só serve para dizer se um é igual ao outro ou não
bool ok = false;
//comparo os 2 vetores
resultFinal = teste1.Intersect(teste2).ToArray();
if (resultFinal.Count() == teste1.Count())
ok = true;
if(ok)
{//iguais
//entra aki se os 2 vetores forem iguais
}
else
{//diferentes
//entra aki se os 2 vetores forem diferentes
}- Marcado como Resposta Marcus_v_f sexta-feira, 4 de dezembro de 2009 12:31
Todas as Respostas
-
Acho melhor você tentar explicar mais o seu real objetivo para podermor ajudar.(o seu contexto)
Vai ser bem dificíl fazer isso e ao mesmo tempo que não vai ser uma verificação exata.
Se o seu vetor estiver todo embaralhado talvez você nunca consiga fazer esse "merge" e obter um resultado verdadeiro.
Possível fazer essa verificação é sim, mais com certeza você terá que fazer um Loop para verificar.
Se você puder dar outras informações, tais como, com quais vetores você pretende trabalhar ? Um List<> genérico ? um ArrayList ?? um simples array? enfim... -
Vou mostrar um exemplo bobo, do que eu gostaria de fazer.
Dim teste1(0 to 1) As Integer
Dim teste2(0 to 1) As Integer
teste1(0) = 1
teste1(1) = 2
teste2(0) = 1
teste2(1) = 2
If teste1.Equals(teste2) Then 'Isso não funciona, apenas um exemplo!
MsgBox("igual")
Else
MsgBox("diferente")
End If
São dois vetores simples, que podem ser iguais ou não. Meu objetivo é de saber quando eles serão iguais.
Espero ter sido mais claro.
Obrigado! -
Veja um exemplo: (fiz em C#)
//declaro os 2 vetores
int[] teste1 = new int[] { 1, 2 };
int[] teste2 = new int[] { 1, 2 };
//esse array será usado para saber o resultado final
int[] resultFinal;
//essa variável só serve para dizer se um é igual ao outro ou não
bool ok = false;
//comparo os 2 vetores
resultFinal = teste1.Intersect(teste2).ToArray();
if (resultFinal.Count() == teste1.Count())
ok = true;
if(ok)
{//iguais
//entra aki se os 2 vetores forem iguais
}
else
{//diferentes
//entra aki se os 2 vetores forem diferentes
}- Marcado como Resposta Marcus_v_f sexta-feira, 4 de dezembro de 2009 12:31
-