Asp.net mvc MVC在模型中迭代会产生编译错误

Asp.net mvc MVC在模型中迭代会产生编译错误,asp.net-mvc,Asp.net Mvc,我想使用SimpleFor循环遍历模型。但它给了我编译错误。有人能说出这里有什么不对吗 List<EmpModel> models = new List<EmpModel>(); .... .... for loop (....) { emp.name = "somename"; emp.agg = 20; emp.add ="some add"; models.Add(emp); } for (int i = 1; i < models.Count(); i

我想使用SimpleFor循环遍历模型。但它给了我编译错误。有人能说出这里有什么不对吗

List<EmpModel> models = new List<EmpModel>();
....
....
for loop (....)
{
emp.name = "somename";
emp.agg = 20;
emp.add  ="some add";

models.Add(emp);
}

for (int i = 1; i < models.Count(); i++)
        {
            EmpModel m1, m2;

            m1 = models.IndexOf(i - 1);
            m2 = models.IndexOf(i);

            CompareModels(m1, m2);
        }
List models=new List();
....
....
for循环(…)
{
emp.name=“somename”;
emp.agg=20;
emp.add=“一些添加”;
模型。添加(emp);
}
对于(int i=1;i
您必须为IndexOf使用
EmpModel
参数,因为您的列表使用
EmpModel
作为类型。参考:

如果要在for循环中执行此操作,可以使用迭代器并使用重载的
Select()
方法:

List<EmpModel> models = new List<EmpModel>();
...
var tempList = models.Select((v,i) => new {val = v, idx = i});

for(int i = 1; i < tempList.Count(); i++)
{
   EmpModel m1, m2;
   m1 = models.FirstOrDefault(x => x.index = i-1);
   m2 = models.FirstOrDefault(x => x.index = i);
   CompareModels(m1, m2);
}
List models=new List();
...
var templast=models.Select((v,i)=>new{val=v,idx=i});
for(int i=1;ix.index=i-1);
m2=models.FirstOrDefault(x=>x.index=i);
比较模型(m1,m2);
}

谢谢,使用m1=models[i-1]和m2=models[i]解决了编译问题。

如果您可以发布实际代码和收到的错误消息,以及引发异常的时间,那就太好了。
emp
在哪里声明?@markpsmith sowhere in“…”我猜:)当我们在进行时:请为您的
CompareModels(EmpModel m1,EmpModel m2)
方法添加代码。错误在m1=models.IndexOf(I-1)行中;m2=型号。指数(i)。错误为“system.collections.generic.List.indexOf的最佳重载方法匹配具有一些无效参数”