我有收藏List<Car>
。
如何将此集合中的每个项目与其余项目进行比较而不重复。
前任:
- 迭代:
这辆车是奥迪,第二辆车是宝马
bool IsSimilar(Car secondCar)
{
if(this.Name==secondCar.Name) return true;
return false;
}
这是不允许的:
n 次迭代
这辆车是宝马,第二辆车是奥迪
bool IsSimilar(Car secondCar)
{
if(this.Name==secondCar.Name) return true;
return false;
}
更清晰:
List<Car> car=new List<Car>();
List<Pair> pairs=new List<Pair>();
pairs.Cars=new List<Car>();
foreach(Car car in cars)
{
foreach(Car secondCar in cars)
{
if(secondCar!=car)
{
if(car.Name==secondCar.name && car.Owner==secondCar.Owner)
{
Pair pair=new Pair();
pair.Cars.Add(car);
pair.Cars.Add(secondCar);
pairs.Add(pair);
}
}
}
}
我只是不想比较汽车两次(你知道第一次迭代比较汽车 1 和汽车 2,下一辆汽车 2 是基础汽车,汽车 1 是第二辆汽车)
对不起我糟糕的英语