Linq在MVC View中不起作用

Fin*_*orm 7 c# linq asp.net-mvc

我在控制器中有一个List

List<string> myList = new List<string>();
myList.Add(aString);

ViewBag.linkList = myList;
Run Code Online (Sandbox Code Playgroud)

然后在我试图做的视图中

@ViewBag.linkList.First()
Run Code Online (Sandbox Code Playgroud)

它给了我错误:'System.Collections.Generic.List'不包含'First'的定义

如果我做

@ ViewBag.linkList [0]

它工作正常.

我已经把它@using System.Linq放在了视野中.我错过了什么吗?Linq是否在视图内工作?

rec*_*ive 9

ViewBag是动态的. First()是一种扩展方法IEnumerable<T>.扩展方法不适用于动态引用.

您必须先将列表转换为IEnumerable<string>调用之前First().

@((ViewBag.linkList as IEnumerable<string>).First())
Run Code Online (Sandbox Code Playgroud)

请注意,plain IEnumerable不起作用,因为.First()没有为它定义.