【发布时间】:2017-09-02 04:09:24
【问题描述】:
我有以下课程
public class cdsworkflows
{
public string WorkflowName;
public string ActionGroup;
}
public class cdssystems
{
public string cdsSystemName;
public List<cdsmodules> listModules;
}
public class cdsmodules
{
public string moduleName;
public List<cdsworkflows> listWorkflows;
}
我正在将所有这些数据的表中的值推送到上述对象,如下所示。我在“选择新”中遇到错误:
不能隐式转换类型
System.Collections.Generic.IEnumerable<cdsworkflows>到System.Collections.Generic.List<cdsworkflows>。显式 存在转换(您是否缺少演员表?)
另外,如果您看到最后一行 ActionGroup = grpWorkflows.Count().ToString() 我想分配值而不是计数。如何做到这一点。
List<cdssystems> results =
(from SPListItem item in myItemsList
group item by item["Systems"]
into grp
select new cdssystems()
{
cdsSystemName = grp.Key.ToString(),
listModules =
from item in grp
group item by item["Modules"]
into grpModules
select new cdsmodules()
{
moduleName = grpModules.Key.ToString(),
listWorkflows =
from item in grpModules
group item by item["Workflows"]
into grpWorkflows
select new cdsworkflows()
{
WorkflowName = grpWorkflows.Key.ToString(),
ActionGroup = grpWorkflows.Count().ToString()
}
}
}
).ToList();
【问题讨论】:
-
你说的是什么意思,我想分配值而不是计数。该怎么做。?
-
实际上我在集合中有 item["ActionGroup"]。这基本上是叶节点。我想将该值分配给 ActionGroup。
-
查看下面的答案更新
标签: c# asp.net linq group-by generic-list