我有下面的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
};
答案 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
。