首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Razor页面中foreach的替代方案

问C# Razor页面中foreach的替代方案
EN

Stack Overflow用户
提问于 2016-10-29 01:54:30
回答 1查看 1.2K关注 0票数 0

我需要输出复杂的IEnumerable在ASP.NET MVC 5站点的Razor页面中包含一个HTML。

我想使用嵌套的for循环来构造HTML --但是,如果所有的对象输出都包含在foreach循环中,这是不可能的。

与其使用foreach循环,是否有任何方法可以这样做,从而获得序列中的下一个对象:

代码语言:javascript
复制
if (x = 1)
{
    for (var x=0; x<2; x++)
    {
        <div class="row">
            for (var n=0; n<4; n++)
            {
                <div class="a">
                    Model.GetNextObject.Name
                </div>
            }
        </div>
    }
}
else
{
    <div class="b">
        Model.GetNextObject.Name
    </div>
}

在许多情况下,这将允许使用更优雅的代码。

这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-29 03:19:08

是的,有可能,

  1. 使用GetEnumerator获取对枚举器的引用
  2. 调用movenext方法移到下一个元素

引用此堆栈溢出后的Using IEnumerable with for loops

代码语言:javascript
复制
var enumerator = getInt().GetEnumerator();
while(enumerator.MoveNext())
{
    var MyObject = enumerator.Current;
    Console.WriteLine(MyObject.Property);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40315314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档