比较两个不同的列表

时间:2011-01-09 11:10:01

标签: linq linq-to-sql

我已经用明确的问题重新调整了我的信息。

我有两个不同的清单。

List<Car> car = GetCars();
List<int> carListNumber = new List<int> { 1, 2, 3};

public Car
{
    public int number
    public string color
    public string brand
}

我的要求是根据LinQ编码获得一个包含1,2,3号的新车列表?

为了获得这辆特定的汽车,您必须从carListNumber接收正确的车号。

4 个答案:

答案 0 :(得分:5)

carListNumber.SequenceEquals(car1.Select(car=>car.number));

答案 1 :(得分:0)

获取List&lt; int&gt;来自List&lt; Car&gt;的汽车数字尝试以下方法:

var listOfCarNumbers = car1.Select(car=>car.number).ToList();
var listsMatches = listOfCarNumbers.TrueForAll(carListNumber.Contains) && listOfCarNumbers.TrueForAll(carListNumber.Contains);

如果2匹配,则ListsMatches包含一个布尔值。

答案 2 :(得分:0)

bool listsAreTheSame(List<Car> cars, List<int> numbers){
  if(cars.Count() != numbers.Count())
    return false;
  for(int  i = 0; i < cars.Count(); i++){
    if(cars[i].number != numbers[i])
      return false;
    }
  return true;
}

答案 3 :(得分:0)

  

需要有一个数字1,2的列表   和来自LinQ的Car号码中的3个   或类似的。

     

我该如何比较两个   具有不同背景的不同列表?

所以你想从名单上买一辆车,宝马说,并找出它的号码?

我真的很难理解你想做什么。您可以使用索引寻址List。这会有帮助吗?

编辑以下内容:

终于明白了你想做什么。你想要汽车的订单,还是数字的顺序?如果你有BMW2,Audi1,你想要的数字订单是2,1,还是汽车订单是奥迪,宝马。然后我将帮助代码:)

List<Car> car1 = GetCars1();
int number = car1.IndexOf(//car//);

如果您需要更多帮助,可以请您重新解释一下您的问题,并且,请您帮我们一个大忙,并在之前的问题中标记/投票给出合适的答案。

非常感谢!