Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq where似乎不起作用。where_C#_Linq - Fatal编程技术网

C# Linq where似乎不起作用。where

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

这是我的linq代码,我想用linq过滤一个列表,但在这种情况下它似乎不起作用,并且不会返回一个与ItemName==stringItemName匹配的列表

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,可能会导致您遇到的任何问题。是的,我正在比较字符串。