无法同时迭代两个不同的集合c#
我在ASP.NETMVC中工作,我尝试将两个集合合并在一个循环中执行。我尝试了ZIP方法,但如果一个集合为空,它不会返回任何结果。我尝试了Concat方法,但它产生了这个错误无法同时迭代两个不同的集合c#,c#,.net,asp.net-mvc,linq,asp.net-mvc-4,C#,.net,Asp.net Mvc,Linq,Asp.net Mvc 4,我在ASP.NETMVC中工作,我尝试将两个集合合并在一个循环中执行。我尝试了ZIP方法,但如果一个集合为空,它不会返回任何结果。我尝试了Concat方法,但它产生了这个错误 System.Collection.Generic.ICollection<Project.Entities.TDetail> does not contains definition for 'Concat'. ZIP方法已尝试,但失败: var request = Model.Requests.ToLis
System.Collection.Generic.ICollection<Project.Entities.TDetail> does not contains definition for 'Concat'.
ZIP方法已尝试,但失败:
var request = Model.Requests.ToList();
var details = Model.Details.ToList();
var final = details.Zip(request, (x, y) => new { Detail = x, Request = y });
@foreach (var item in final)
{
}
我已经花了3天的时间在这上面,但找不到任何解决方案,请帮我解决这个问题
我只想把它们并排列出,它们之间没有关系
那么无论是Concat
还是Zip
都不适合您Concat
将项目附加到列表(“垂直”)Zip
将为您提供“并排”集合,但只提供与最短集合相同数量的元素
您可以对循环执行直接的:
var requests = Model.Requests.ToList();
var details = Model.Details.ToList();
var length = Math.Max(requests.Count, details.Count);
@for(int i=0 ; i< length ; i++)
{
if(i <= request.Count)
{
var request = requests[i];
@: html code here
}
if(i <= details.Count)
{
var detail = deatils[i]
@: html code here
}
}
如果您发布示例输入和所需输出,可能会有所帮助。@dav_i我希望同时显示这两个集合、请求和详细信息的结果。@Usama dav_i询问所需输出/html应该是什么,因为您可以非常轻松地运行两个不同的循环(每个列表一个循环)仍然有可能得到你想要的结果。它们之间有什么关系?是否有可以加入的键值?或者你只是想按顺序并排列出它们?@Usama那么我不会尝试同时循环它们-分别循环它们,创建两个不同的UI元素(list?table?span?),并使用样式将它们并排显示。
var request = Model.Requests.ToList();
var details = Model.Details.ToList();
var final = details.Zip(request, (x, y) => new { Detail = x, Request = y });
@foreach (var item in final)
{
}
var requests = Model.Requests.ToList();
var details = Model.Details.ToList();
var length = Math.Max(requests.Count, details.Count);
@for(int i=0 ; i< length ; i++)
{
if(i <= request.Count)
{
var request = requests[i];
@: html code here
}
if(i <= details.Count)
{
var detail = deatils[i]
@: html code here
}
}
var requests = Model.Requests.ToList();
var details = Model.Details.ToList();
@foreach (var item in requests)
{
@: html code here
}
@foreach (var item in details)
{
@: html code here
}