将var转换为c#中的List

我无法将var转换为List

 private void PopulateChart(List rawData) { var groupedByCategory1 = rawData.GroupBy(co => co.Category1) //List data = groupedByCategory1.GroupBy(co => co.Category1).ToList(); } 

注意:从rawData我必须得到Groupby数据。 再次使用该结果我必须对数据进行分组。

Linq GroupBy返回System.Linq.IQueryable> 。 因此,您应该从组中选择一些数据:

 List data = groupedByCategory1 .GroupBy(co => co.Category1) .Select(grp => new CustomObject { Category1 = grp.Key } .ToList(); 
  var data = groupedByCategory1 .GroupBy(co => co.Category1) .Select(grp => new { Category1 = grp.Key// This is the key that you used to group groupList=grp.ToList();//This will be the list of CustomObject } .ToList(); 

实际上, GroupBy将您的列表分组到另一个列表,其中Category1是相同的。

您可以访问它,如下所示

 foreach (var group in data) {// This group is List. If you don't want to access it like this, whats the meaning of group by? var groupKey=group.Category1; foreach(CustomObject myObj in group.groupList) { } } 

你有没有尝试过

 var groupedByCategory1 = rawData .GroupBy(co => co.Category1) .SelectMany(c => c) .ToList();