C# Linq group by并选择子组中最常出现的项目

C# Linq group by并选择子组中最常出现的项目,c#,linq,partition,row-number,C#,Linq,Partition,Row Number,我一直在努力用c语言为下面的场景编写linq查询,我得到了一个结构如下的列表 PostCode, Premise, Connectivity, Availability XYZ 123, 1, HIGH, TRUE XYZ 123, 2, LOW, TRUE XYZ 123, 3, LOW, FALSE ABC 234, 1, HIGH, FALSE ABC

我一直在努力用c语言为下面的场景编写linq查询,我得到了一个结构如下的列表

PostCode, Premise, Connectivity, Availability
XYZ 123,    1,       HIGH,         TRUE
XYZ 123,    2,       LOW,          TRUE
XYZ 123,    3,       LOW,          FALSE
ABC 234,    1,       HIGH,         FALSE
ABC 123,    2,       HIGH,         FALSE
我正在尝试使用行数和分区生成下面的代码,这是我在SQL中完成的,但在c中实现这一功能对我来说是一个挑战。非常感谢您的帮助

PostCode,  Connectivity, Availability
XYZ 123,         LOW,          TRUE
ABC 234,         HIGH,         FALSE

这就是您要寻找的:

class Program
{
    static void Main(string[] args)
    {
        List<PostCode> postCodes = new List<PostCode>() {
            new PostCode() {postcode = "XYZ 123", premise = 1, connectivity = "HIGH", availability = "TRUE"},
                new PostCode() {postcode = "XYZ 123", premise = 2, connectivity = "LOW", availability = "TRUE"},
                new PostCode() {postcode = "XYZ 123", premise = 3, connectivity = "LOW", availability = "FALSE"},
                new PostCode() {postcode = "ABC 234", premise = 1, connectivity = "HIGH", availability = "FALSE"},
                new PostCode() {postcode = "ABC 123", premise = 2, connectivity = "HIGH", availability = "FALSE"}
            };

            var results = postCodes.GroupBy(x => x.postcode)
                .Select(x => x.GroupBy(y => y.premise).Select(z => new { item = z, count = z.Count() }).ToList())
                .ToList();
        }
    }
    public class PostCode
    {
        public string postcode {get; set;}
        public int premise { get; set; }
        public string connectivity { get; set; }
        public string availability { get; set; }

    }

您的输出逻辑是什么?也许你可以分享一下你的想法。你的例子似乎没有显示你正在使用的逻辑——为什么ABC 123从你的答案中消失了?为什么XYZ 123显示为连接低但可用性为真?你能展示一下你的尝试吗?从你的例子中,我无法提取你的需求。你能用文字写出来吗:给定一个邮政编码序列,前提,…,我想要这个序列的子集,包含那些。。。