我有一个像List
这样的对象列表 class Address{
public int HouseNo
public string Street
}
class Person
{
string Name;
public Address location
}
List<Person> list1 = new List<Person>
{
new Person("a", Address x),
new Person("b", Address y),
new Person("c", Address z),
new Person("a", Address a )
};
我想基于相同的Person.Name
合并/组合list1中的对象所以结果包含
Person("a", [Address x,Address y])
答案 0 :(得分:0)
您可以使用词典&lt; string,List&lt;地址&gt;&gt;作为创建合并的中间容器,其中键是人的名称,值是关联地址列表。
首先,在原始列表中为每个人创建一个循环,查看密钥(名称)是否已包含在“词典”中。如果是,则将新地址添加到字典值,如果不是将人名添加为密钥,则添加包含该地址的新列表。
原始列表中只需要一个循环。
最后,您可以将词典重新转换为您喜欢的任何类型的容器。
我在谈论System.Collections.Generic.Dictionary&lt;键,值&gt;。
我必须在这里学习如何格式化示例代码......: - )