using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
var input = new List<Datatype>
ConnectionType = ConnectionType.COM,
ConnectionType = ConnectionType.COM,
ConnectionType = ConnectionType.COM,
ConnectionName = "CONN3",
ConnectionType = ConnectionType.IP,
ConnectionType = ConnectionType.IP,
ConnectionType = ConnectionType.IP,
var result = input.GroupBy(x => x.ConnectionType == ConnectionType.IP ? x.TcpPort : x.ComPort).Where(x => x.Count() > 1).Select(x => x.Key + "\n" + string.Join("\n",x.Select(y => "\t" + y.ConnectionName)));
Console.WriteLine(string.Join("\n", result));
public ConnectionType ConnectionType {get;set;}
public string ComPort {get;set;}
public string TcpPort {get;set;}
public string ConnectionName {get;set;}
public enum ConnectionType { COM, IP }