C# - Adiocionando em List e Eliminando pares repetidos

1 resposta
J

Boa Tarde,

Bom estou fazendo um sistema que detecta os pares próximos…
que são adicionados em uma List …
Porém ele esta me trazendo pares repetidos…
Por Exemplo…

0 esta proximo de 1
1 esta proximo de 0

Sendo que 0 e 1, e 1 e 0, são a mesma coisa, como posso tratar isto para poder enviar pra uma list
e simplesmente mostrar os dados com um Foreach ?

por enquanto esta assim…

[color=red]

public void distanciaAvioesCal(){

float distancia;

float dx;

int idAviao;

float dy;

float xAviao;

float yAviao;

int idAviaoCheck;

float xAviaoCheck;

float yAviaoCheck;
foreach(GameObject aviao in listaGeral){
		idAviao = aviao.GetComponent<DadosAviao>().id;
		xAviao = aviao.GetComponent<DadosAviao>().AviaoX;
		yAviao = aviao.GetComponent<DadosAviao>().AviaoY;
			foreach(GameObject aviaoCeck in listaGeral){
			idAviaoCheck =  aviaoCeck.GetComponent<DadosAviao>().id;
			if(idAviao == idAviaoCheck){
				//se for igual nao faz nd. pois o ele sempre estara Proximo dele mesmo Exemplo 0 e 0  , 1 e 1...
			}else{
		
			xAviaoCheck = aviaoCeck.GetComponent<DadosAviao>().AviaoX;
			yAviaoCheck = aviaoCeck.GetComponent<DadosAviao>().AviaoY;
			dx = Mathf.Pow(xAviaoCheck - xAviao , 2);
			dy = Mathf.Pow(yAviaoCheck - yAviao, 2);
			distancia = Mathf.Sqrt(dx + dy);

			if(distancia < distAviao){
					distanciaEntreAvioes.Add();

				}
			}
			//fim SEGUNDO foreach
		}
		//fim PRIMEIRO foreach
	}

[/color]

Desde já fico agradecido…
Valeu.

1 Resposta

J

Bom, por meio de tentativas já consegui resolver com esta linha

[color=red]

if(distancia < distAviao){

if(!distanciaEntreAvioes.Contains("ID " + idAviao + " Proximo a " + idAviaoCheck) && !distanciaEntreAvioes.Contains("ID " + idAviaoCheck + " Proximo a " + idAviao)  ){

distanciaEntreAvioes.Add("ID " + idAviao + " Proximo a " + idAviaoCheck);

}

}

}

[/color]

só pra informar.
=D

Criado 29 de novembro de 2014
Ultima resposta 29 de nov. de 2014
Respostas 1
Participantes 1