在For循环中查询模型

时间:2019-06-28 03:24:18

标签: c# asp.net-mvc razor

是否有一种方法可以在For循环中查询模型,类似于在foreach中进行查询的方式? 例如:

foreach (var item in Model.Where(x => x.product == product))

3 个答案:

答案 0 :(得分:0)

我认为这就是您想要的:

<a>
    <b>
        <input>zyx</input>
        <div>abc</div>
        <span>def</span>
        <input>ghi</input>
    </b>
    <c>
        <div class="SameAttribute">Test</div>
        <input>jkl</input>
        <div>mno</div>
    </c>
    <d>
        <div class="SameAttribute">Test</div>
        <input>pqr</input>
        <div>stu</div>
    </d>
</a>

ToList()用于枚举项目,以便您可以遍历索引。

答案 1 :(得分:0)

如果您要寻找与foreach (var item in Model.Where(x => x.product == product))相当的商品,请执行以下操作:

var index = 0; // in case you need an index in your loop
for (var e = Model.Where(x => x.product == product).GetEnumerator(); e.MoveNext(); index++)
{
    var item = e.Current;

    // rest of your code here
}

答案 2 :(得分:0)

如果您要获取索引,请对索引使用Select重载

foreach(var (item, index) in Model.Where(x => x.product == product).Select((a, b) => (a, b)))
{
    // statements
}

如果必须使用for

的形式
for(var (enumerator, index) = (Model.Where(x => x.product == product).GetEnumerator(), 0); enumerator.MoveNext(); index++)
{
    // statements
}