我有这个清单:
public class Connection
{
public string Name { get; set; }
public string IP { get; set; }
}
List<Connection> connectionsList;
我希望从列表中获取共享相同Name
的所有IP
。
我试过了:
var duplicateIPConnections =
connectionsList.GroupBy(x => x.IP)
.Where(g => g.Count() > 1)
.SelectMany(g => g);
但结果是一个可枚举的所有元素出现在彼此之后。
我想要的是元素将在下分配它们共享的IP
。
答案 0 :(得分:0)
var duplicateIPConnections = connectionsList.OrderBy(x => x.IP)
.GroupBy(x => x.IP)
.Select(g => new
{
Type = g.Key,
Sites = g.Select(obj => new
{
obj.IP,
obj.Name
})
});