Bir Listeniz varsa ve aynı Id alanına sahip herhangi bir SomeObject öğesinin alt Listesini birleştirmek istediğinizde, bunu nasıl yaparsınız?C# Birleştirme Üst düzeyden alt nesnelerin listesi Nesne Listesi
public class SomeObject
{
public string Name { get; set; }
public int Id { get; set; }
public List<KeyPair> ValuePairs {get;set;}
}
public class KeyPair
{
public string Key { get; set; }
public string Value { get; set; }
}
Ve bu sahte listenin örnek yaratılmasıdır: İşte örnek nesnelerdir
List<SomeObject> objects = new List<SomeObject>();
objects = new List<SomeObject>()
{
new SomeObject
{
Name="Rando Object 1",
Id=5,
ValuePairs=new List<KeyPair>()
{
new KeyPair
{
Key="TestKey1",
Value="TestValue1"
},
new KeyPair
{
Key="TestKey2",
Value="TestValue2"
}
}
},
new SomeObject
{
Name="Rando Object 2",
Id=5,
ValuePairs=new List<KeyPair>()
{
new KeyPair
{
Key="TestKey3",
Value="TestValue3"
},
new KeyPair
{
Key="TestKey4",
Value="TestValue4"
}
}
}
};
Eğer SomeObject yeni bir listesini oluşturmak için yapmanız gerekir Linq ne tür veya ilgili sorgu
Bu, eşleşen Id alanlarına sahip herhangi bir üst düzey SomeObject'e dayalı olarak birleştirilir; daha sonra KeyPair listesini tek bir listeye birleştirir. Bu nedenle, Listede iki farklı önceki SomeObject öğesinden bir araya gelen SomeObject Id = 5 ve sonra da 4 anahtar çifti değerine sahip olursunuz. İsim değeri yeni nesneden silinebilir.
Herhangi bir fikrin var mı? Çok teşekkür ederim.
Bu, yardımlarınız için teşekkürler. –