Asp.net mvc 在SelectList ViewBag中使用Linq/Lambda表达式而不是使用foreach循环进行查询/搜索

Asp.net mvc 在SelectList ViewBag中使用Linq/Lambda表达式而不是使用foreach循环进行查询/搜索,asp.net-mvc,linq,lambda,viewbag,selectlist,Asp.net Mvc,Linq,Lambda,Viewbag,Selectlist,在控制器中,selectlist的Viewbag是: ViewBag.DSUB = new SelectList(db.SUBJECTs, "SCODE", "SUBJECT1"); 鉴于此,我可以通过foreach-lopp对其进行一定值的检查。我需要对Linq/Lambda表达式执行同样的操作,以使代码更具可读性 string certainStringVariable = '5'; @foreach (var DSUBName in ViewBag.DSUB) { if (DSU

在控制器中,selectlist的Viewbag是:

ViewBag.DSUB = new SelectList(db.SUBJECTs, "SCODE", "SUBJECT1");
鉴于此,我可以通过foreach-lopp对其进行一定值的检查。我需要对Linq/Lambda表达式执行同样的操作,以使代码更具可读性

string certainStringVariable = '5';
@foreach (var DSUBName in ViewBag.DSUB)
{
    if (DSUBName.Value == certainStringVariable)
    {
    @DSUBName.Text
    }
}

我真的很感激他/她能帮我摆脱困境。

@Jon Skeet你能看到并帮助我做简报吗:)?你为什么要创建SelectList,而你只是想反复浏览它?使用普通的泛型列表不是很简单吗?我只给出了许多选择列表中的一个。因为我需要创建一个下拉列表,同时也需要在同一视图中的表格单元格中打印viewbag值。我不理解这个问题……不鼓励只使用代码的答案,请添加一些解释。
string certainStringVariable = '5';
@foreach (var DSUBName in ((SelectList)ViewBag.DSUB).Where(a => a.Value == certainStringVariable))
{
    @DSUBName.Text
}