传递给其他方法的 LINQ 结果集
本文关键字:LINQ 结果 方法 其他 | 更新日期: 2023-09-27 18:35:31
var result = datatable.AsEnumerable()
.GroupBy(row=>row.Field<DateTime>("Date"))
.Select(gr=>new
{
Date = gr.Key,
Agents = gr.Select(x => new
{
Id = x.Field<int>("ID"),
Agent = x.Field<string>("Agent")
})
});
foreach (var res in result) {
var lstAgents= res.Agents;
ImportSchedule(lstAgents);
}
如何在ImportSchedule()
方法中传递lstAgents
。我在ImportSchedule
中定义了什么类型?
你可以
这样做:
public void ImportSchedule(dynamic agents) { }
但是你应该为此创建一个类,原因是如果属性Id
更改为AgentId
那么你会在运行时发现错误。
欲了解更多信息:
链接 1
你不能将匿名类型传递到方法中,但你可以像这样创建类或结构:
public class AgentDto
{
public int Id {get; set;}
public string Agent {get; set;}
}
在这种情况下,您应该像这样制作方法ImportSchedule:
public void ImportSchedule(IEnumerable<AgentDto> agents)
还要注意不要将日期传递到ImportSchedule中,但您可能需要这样做