C# Linq where似乎不起作用。where
这是我的linq代码,我想用linq过滤一个列表,但在这种情况下它似乎不起作用,并且不会返回一个与ItemName==stringItemName匹配的列表C# Linq where似乎不起作用。where,c#,linq,C#,Linq,这是我的linq代码,我想用linq过滤一个列表,但在这种情况下它似乎不起作用,并且不会返回一个与ItemName==stringItemName匹配的列表 JsonResult jso = Json(ItemList .Where(x => x.ItemName==stringItemName) .Select(x => new { x.Year }).Distinct() .Selec
JsonResult jso = Json(ItemList
.Where(x => x.ItemName==stringItemName)
.Select(x => new { x.Year }).Distinct()
.Select(x => new { Text = x.Year.ToShortDateString(), Value = x.ToShortDateString() }));
也不是
JsonResult jso = Json(ItemList
.Where(x => x.ItemName.Equals(stringItemName))
.Select(x => new { x.Year }).Distinct()
.Select(x => new { Text = x.Year.ToShortDateString(), Value = x.ToShortDateString() }));
我想知道为什么它在过去在另一种情况下起作用,但现在不起作用。我做错了什么 问题在于基础数据错误。我已经添加了.Trim,现在相同的代码块可以正常工作了
JsonResult jso = Json(ItemList
.Where(x => x.ItemName.Trim().Equals(stringItemName))
.Select(x => new { x.Year }).Distinct()
.Select(x => new { Text = x.Year.ToShortDateString(), Value = x.ToShortDateString() }));
您正在比较的是字符串属性吗?它不起作用是什么意思?您是否收到错误消息,或者它没有编译,或者只是没有给出预期的结果?您如何知道问题在何处,而不是在选择中?尝试拆分它们并使用调试器检查。此外,您可能希望修复此值=x..ToSortDateString,可能会导致您遇到的任何问题。是的,我正在比较字符串。