C# 使用LINQ查询连接两个列表并仅显示相关数据
我不熟悉LINQ的编程和工作,我有两个列表,它们都有不同的数据,我正在尝试将它们连接到一个单独的列表中,然后使用LINQ(查询或IQueryable,无论它是什么)只显示“黑色”和“白色”汽车数据。这是我的代码,它做完全不同的事情C# 使用LINQ查询连接两个列表并仅显示相关数据,c#,linq,console-application,C#,Linq,Console Application,我不熟悉LINQ的编程和工作,我有两个列表,它们都有不同的数据,我正在尝试将它们连接到一个单独的列表中,然后使用LINQ(查询或IQueryable,无论它是什么)只显示“黑色”和“白色”汽车数据。这是我的代码,它做完全不同的事情 static void Main(string[] args) { List<Cars> cars = new List<Cars>(); cars.Add (new Cars { Make = &q
static void Main(string[] args)
{
List<Cars> cars = new List<Cars>();
cars.Add (new Cars { Make = "Honda", Model = 2020, Color = "Black"});
cars.Add (new Cars { Make = "Suzuki", Model = 2020, Color = "White" });
cars.Add (new Cars { Make = "Toyota", Model = 2020, Color = "Green" });
cars.Add (new Cars { Make = "Kia", Model = 2020, Color = "Blue" });
List<MakeBy> makeby = new List<MakeBy>();
makeby.Add(new MakeBy { Color = "White", Country = "China" });
makeby.Add(new MakeBy { Color = "Black", Country = "Japan" });
makeby.Add(new MakeBy { Color = "White", Country = "Japan" });
makeby.Add(new MakeBy { Color = "White", Country = "Korea" });
var CombineCars = cars.Zip(makeby, (e, s) => e.Color + "White" + s.Color + "Black");
foreach(var item in CombineCars)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
static void Main(字符串[]args)
{
列出车辆=新列表();
添加(新车{Make=“Honda”,Model=2020,Color=“Black”});
添加(新车{Make=“Suzuki”,Model=2020,Color=“White”});
添加(新车{Make=“Toyota”,Model=2020,Color=“Green”});
添加(新车{Make=“Kia”,Model=2020,Color=“Blue”});
List makeby=new List();
makeby.Add(新makeby{Color=“White”,Country=“China”});
添加(新的makeby{Color=“Black”,Country=“Japan”});
添加(新的makeby{Color=“White”,Country=“Japan”});
添加(新的makeby{Color=“White”,Country=“Korea”});
var CombineCars=cars.Zip(makeby,(e,s)=>e.Color+“白色”+s.Color+“黑色”);
foreach(组合CARS中的var项目)
{
控制台写入线(项目);
}
Console.ReadLine();
}
查看以下各项是否有效。如果没有,请更精确地指定您需要的输出
var CombineCars = cars.Join(maekby,
c => c.Color,
m => m.Color,
(c, m) => new
{
carMake = c.Make,
carModel = c.Model,
carColor = c.Color,
makeByColor = m.Color,
makeByCountry = m.Country
});
现在,您可以通过以下方式访问它:
foreach (var car in CombineCars)
{
Console.WriteLine($"Car model: {car.carModel}, car make: {car.carMake}"); //and so on
}
还没有测试过它,但它应该满足您的需要。您希望在
控制台中得到什么样的结果代码>?你能提供一个基于你的样本数据的例子吗。。。?
var CombineCars = cars.Join(maekby,
c => c.Color,
m => m.Color,
(c, m) => new
{
carMake = c.Make,
carModel = c.Model,
carColor = c.Color,
makeByColor = m.Color,
makeByCountry = m.Country
});