0
我試圖將兩個不同的實體組合成一個新的實體。這裏是我的實體類的一個示例:將兩個實體合併爲一個使用LINQ
public class CarOne
{
public string Name { get; set; }
public string Model { get; set; }
}
public class CarTwo
{
public int Year { get; set; }
public string Description { get; set; }
}
現在我要保存所有我的兩個enties的名單到這個新的實體:
public class CarFinal
{
public string Name { get; set; }
public string Model { get; set; }
public int Year { get; set; }
public string Description { get; set; }
}
這裏是我的代碼示例:
CarOne carToyota = new CarOne()
{
Name = "Toyota",
Model = "Camry"
};
CarTwo carDetails = new CarTwo()
{
Year = 2012,
Description = "This is a great car"
};
List<CarOne> lstFirst = new List<CarOne>();
lstFirst.Add(carToyota);
List<CarTwo> lstSecond = new List<CarTwo>();
lstSecond.Add(carDetails);
現在這裏是我正在嘗試做的,我試圖結合這兩個列表,其中包含相同數量的元素,在這種情況下,兩個列表包含一個元素的數量。什麼到目前爲止,我已經試過是:
var result1 = lstFirst.Select(x => new CarFinal
{
Name = x.Name,
Model = x.Model
}).ToList();
var result2 = lstSecond.Select(x => new CarFinal
{
Year = x.Year,
Description = x.Description
}).ToList();
List<CarFinal> lstFinal = new List<CarFinal>();
lstFinal = result1.Union(result2).ToList();
我也試過:
lstFinal = result1.Concat(result2).ToList();
但是這兩種方法的輸出都將產生兩個元素,這是我想剛纔的所有屬性合併成一。我期待只有一個實體,但我總是會在我的組合中獲得兩個元素。
請閱讀使用之前的方法! –