Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何获取foreach中每个项目的上一个值_Asp.net Core - Fatal编程技术网

Asp.net core 如何获取foreach中每个项目的上一个值

Asp.net core 如何获取foreach中每个项目的上一个值,asp.net-core,Asp.net Core,如何获取foreach中每个项目的上一个值? 这就是我得到的: 100 200 300 400 500 600 700 100 100 100 100 100 100 100 这就是我想要得到的: 100 200 300 400 500 600 700 0 100 200 300 400 500 600 这是我的代码: @foreach (var i2 in ViewBag.ce) { @for (var i = 0; i < ViewBag.ce.Count - Vie

如何获取foreach中每个项目的上一个值? 这就是我得到的:

100 200 300 400 500 600 700

100 100 100 100 100 100 100
这就是我想要得到的:

100 200 300 400 500 600 700

0 100 200 300 400 500 600 
这是我的代码:

@foreach (var i2 in ViewBag.ce)
{
    @for (var i = 0; i < ViewBag.ce.Count - ViewBag.ce.Count + 1; i++)
    {
        var previous = ViewBag.ce[i];
        @(previous)
    }
}

您可以尝试为上一个项目定义引用。对于示例:

int previous = 0; // you could start it with some default value like 0  (in your sample)
@for (var i = 0; i < ViewBag.ce.Count - ViewBag.ce.Count + 1; i++)
{
    // code using previous..

    // define the previous for the next iteration
    previous = ViewBag.ce[i];        
}
int-previous=0;//您可以使用一些默认值来启动它,如0(在您的示例中)
@对于(变量i=0;i

我不确定您的循环条件,但看到一个工作示例:

我不确定您为什么需要两个循环,我认为您只需要一个循环并处理第一次迭代的特殊情况

@for (var i = 0; i < ViewBag.ce.Count; i++)
{
    if(i != 0){
        var previous = ViewBag.ce[i-1];
    }
    else
    {
        var previous = ViewBag.ce[i];
    }
    @(previous)
}

(变量i=0;i
在这种情况下,我得到的与我的完全相同。foreach itemsHow中的每个项都是100,我可以使用它还是SQL值?我的100-700来自sql,它们在ViewBag.ce中编辑您的初始帖子并分享更多详细信息您想做什么。您在ViewBag上添加了什么?谢谢。我还有一个问题。在循环中,ViewBag.ce[I]是当前项。您可以随意将其指定给变量,并根据需要使用。
@for (var i = 0; i < ViewBag.ce.Count; i++)
{
    if(i != 0){
        var previous = ViewBag.ce[i-1];
    }
    else
    {
        var previous = ViewBag.ce[i];
    }
    @(previous)
}