Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/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
C# ViewBag检测最后一项MVC_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# ViewBag检测最后一项MVC

C# ViewBag检测最后一项MVC,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有ViewBag中的对象列表。有没有办法检查该项目是否是Razor视图中该视图包中的最后一个项目 @if (ViewBag.List != null) { foreach(var item in ViewBag.List) { if(item[0] == **LAST ITEM** ) // here I want to check if it is the last item in my ViewBag.List {

我有ViewBag中的对象列表。有没有办法检查该项目是否是Razor视图中该视图包中的最后一个项目

@if (ViewBag.List != null)
{
    foreach(var item in ViewBag.List)
    {
        if(item[0] == **LAST ITEM** ) // here I want to check if it is the last item in my ViewBag.List
        { 
            /* do stuff */ 
        } 
    }
}
编辑:我将这些年作为匿名对象存储

public object GetYears(){
    return result.Distinct().OrderBy(i => i.startYear).Select(c => new[]
                {
                    c.startYear
                });
}

ViewBag.List = GetYears();

如果
ViewBag.List
实现
IEnumerable
您可以使用
Last()
为了访问
IEnumerable
的方法或通过索引访问,您需要
cast
视图包中的列表,我假设
startYear
int

@if (ViewBag.List != null)
{
    var last_item = (ViewBag.List as IEnumerable<int[]>).Last();
    foreach(var item in ViewBag.List)
    {
        if(item[0] == last_item[0]) // here I want to check if it is the last item in my ViewBag.List
        { 
            /* do stuff */ 
        } 
    }
}

您在ViewBag中选择了什么。列表显示该代码。该
ViewBag.List
是什么类型的<代码>列表,
数组
…ViewBag没有Count()或Last()之类的函数,我已经尝试过了:)当然ViewBag没有那种方法,但是ViewBag中存储的列表是IEnumerable,并且是可数的。也许你需要做一个演员。我做了一个编辑。我用不同的方法更新了答案,并用viewbag列表的转换更新了答案。它应该可以工作,如果不可以,请告诉我。谢谢,现在这正在使用铸造,唯一的问题是,该项目不等于最后一个项目,所以我可以将其更新为项目[0]==最后一个项目[0]。非常有用的答案!:)哦对不起,我认为你在评论中所说的只是一个例子。尝试以下操作:
var lastFiltered=(ViewBag.List作为IEnumerable)。其中(m=>m[0]<2015)。Last()
@if (ViewBag.List != null)
{
    IEnumerable<int[]> viewbag_list = (ViewBag.List as IEnumerable<int[]>);
    var last_item = viewbag_list[viewbag_list.Count()-1];
    foreach(var item in ViewBag.List)
    {
        if(item[0] == last_item[0]) // here I want to check if it is the last item in my ViewBag.List
        { 
            /* do stuff */ 
        } 
    }
}