C#如何在LINQ查询中访问SelectListItem的Selected属性的值?

时间:2018-07-12 18:53:29

标签: c# linq

我有下面的LINQ语句,并且我想知道如何在运行时在string.Equals运算符中查看参数的值。谁能告诉我如何使用var来设置我的代码,以实现此目的?

Items = from Item in GetList()
    select new SelectListItem
    {
        Selected = string.Equals(Item.Value, formTypeSelected, StringComparison.IgnoreCase),
        Text = Item.Key,
        Value = Item.Value                               
    };

2 个答案:

答案 0 :(得分:1)

这是因为推迟返回IEnumerable的查询的执行,因此除非您要求数据(例如,在转换ToList<T>时),否则您不会得到太多的信息。

Items = (from Item in GetList()
    select new SelectListItem
    {
        Selected = string.Equals(Item.Value, formTypeSelected, StringComparison.IgnoreCase),
        Text = Item.Key,
        Value = Item.Value                               
    }).ToList();

答案 1 :(得分:0)

我不确定我是否了解您想要的内容,但是您是否需要当前选择的SelectListItem?如果是:

var selectedItem = items.FirstOrDefault(i => i.Selected);
// selectedItem will be of type SelectListItem

如果您确定列表中始终有选中的项目,则可以使用First

相关问题