【问题标题】:LINQ Query datatable IssueLINQ 查询数据表问题
【发布时间】:2018-04-20 06:43:01
【问题描述】:

我现在有一个像这样的 DataTable

California  2018    v32
Texas       2017    v31
New Jersey  2017    v31
Maine       2017    v31
New York    2014    v31
Alaska      2010    v29

我希望使用 LINQ 查询的输出是这样的

v32
     2018
     California

v31
     2017
     Texas
     New Jersey
     Maine

    2014
    New York

v29
    2010
    Alaska

任何帮助将不胜感激。此数据表将附加到 asp.net 转发器控件

【问题讨论】:

  • 任何一个??请帮忙

标签: asp.net entity-framework linq linq-to-sql


【解决方案1】:
    public class Faker
    {
        public string State { get; set; }
        public int Year { get; set; }
        public string Version { get; set; }

        public Faker(string state, int year, string version)
        {
            State = state;
            Year = year;
            Version = version;
        }
    }

    static void Main(string[] args)
    {
        var ls = new List<Faker>
        {
            new Faker("California", 2018, "v32"),
            new Faker("Texas", 2017, "v31"),
            new Faker("New Jersey", 2017, "v31"),
            new Faker("Maine", 2017, "v31"),
            new Faker("New York", 2014, "v31"),
            new Faker("Alaska", 2010, "v29"),
        };


        ls.GroupBy(x => x.Version)
            .ToList()
            .ForEach(x => 
                {
                Console.WriteLine(x.Key);

                x.GroupBy(y => y.Year)
                    .ToList()
                    .ForEach(y => {
                    Console.WriteLine($"\t{y.Key}");

                        y.GroupBy(z => z.State)
                            .ToList()
                            .ForEach(z => Console.WriteLine($"\t{z.Key}"));
                         Console.WriteLine();
                    });
                });

        Console.ReadLine();
    }

【讨论】:

  • 感谢您的回复。但我没有按照我想要的方式给我想要的输出
  • 任何人请帮忙
  • 它没有做什么?
  • 显示重复值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多