【发布时间】:2017-11-06 17:09:18
【问题描述】:
在下面的控制器中,我需要遍历 List 的每个元素。 MyVieModel 有很多属性(列),列表有数千行。因此,为简洁起见,我需要使用外部和内部循环。但是,VS2015 抱怨控制器中的以下行。我该如何解决这个问题?
-
错误在内循环
for (var j = 0; j < testlist[i].Count(); j++){...}:MyViewModel不包含 Count() 的定义 -
if (testlist[i][j] ....){...}行的错误:无法将带有 [] 的索引应用于 MyViewModel 类型的扩展
视图模型:
public class MyViewModel
{
[Key]
public int ProductId { get; set; }
public float laborCost { get; set; }
public float ManufCost { get; set; }
public float Price { get; set; }
....
....
}
控制器:
....
....
var testlist = (qry to load MyViewModel).ToList();
for (var i = 0; i < testlist.Count; i++)
{
for (var j = 0; j < testlist[i].Count(); j++)
{
if (testlist[i][j] ....)
{
....
....
}
}
}
【问题讨论】:
-
你的内部循环试图循环什么?
testlist[i]只会返回一个 MyViewModel 实例。 -
@ZippyZippedUp 将其视为
mxn维度的矩阵。我正在尝试遍历具有 m 行和 n 列的列表的每个条目。在我的代码中,I是行数,j是列数。有没有更好的解决方法? -
我看不到 MyViewModel).ToList() 如何返回 List
[][]
标签: c# asp.net-core entity-framework-core