linq从group by中选择all

时间:2014-08-28 05:25:24

标签: c# linq

如果我不想逐个指定字段,但我想选择所有字段而不指定。我该怎么做?

List<test> xxx = new List<test>();
            var rows = xxx.Where(s => s.test1 == "")
                .GroupBy(s => s.test1)
                .Select(s => new
                {
                    test1 = s.First().test1,
                    test2 = s.First().test2
                })
                .ToList();

我不想在xxx bla bla lba select s中使用var rows = from s。但使用上述方法。我该怎么做?

此致 MH

3 个答案:

答案 0 :(得分:1)

您似乎根本不想要GroupBy(),而您真正想要的是:

List<test> xxx = new List<test>();
var row = xxx.First(s => s.test1 == "");

答案 1 :(得分:0)

List<test> xxx = new List<test>();
var rows = xxx.Where(s => s.test1 == "")
.GroupBy(s => s.test1).ToList();

不确定你想要实现的目标。但你的意思是这样吗?

答案 2 :(得分:0)

按组选择项目

    IEnumerable<DataRow> sequence = DataTbl.AsEnumerable();

    var GroupedData = from d in sequence group d by d["panelName"];      // GroupedData is now of type IEnumerable<IGrouping<int, Document>>

    foreach (var GroupList in GroupedData) // GroupList = "document group", of type IGrouping<int, Document>
    {
      string GroupName = "";
      foreach (var Item in GroupList)
      {
        GroupName = Item["panelName"].ToString();

        string ItemReference = Item["reference"].ToString();
      }
    }