C# 为什么我不能比较两个id';c中的s#
我尝试比较两个ID并得到一些结果。它适用于其他字符串,但不适用于此。 我试过了C# 为什么我不能比较两个id';c中的s#,c#,asp.net-mvc,list,compare,C#,Asp.net Mvc,List,Compare,我尝试比较两个ID并得到一些结果。它适用于其他字符串,但不适用于此。 我试过了 var neededData = mainFaires.Where(c => c.trimacid == passId ); 在这里passId=OX201630HAV 在mainfires列表中,在某个地方它包含了这个id。但是它没有给出结果。我在这里找到了 var x = mainFaires.ElementAt(27261); 此列表包含相同的id。但没有给出结果。我想不出原因。元素位于查找位置 您应
var neededData = mainFaires.Where(c => c.trimacid == passId );
在这里passId=OX201630HAV
在mainfires
列表中,在某个地方它包含了这个id
。但是它没有给出结果。我在这里找到了
var x = mainFaires.ElementAt(27261);
此列表包含相同的
id
。但没有给出结果。我想不出原因。元素位于查找位置
您应该使用select查找记录
var x = mainFaires.Select(o => o.trimacid == 27261);
您应该使用
.ToList()
.First()或.FirstOrDefault()
来实际提交查询并获得结果。您的代码只定义了查询,但实际上没有将其提交到数据收集
如果您只希望得到一项结果,那么您的代码应该如下所示:
var neededData = mainFaires.Where(c => c.trimacid == passId ).FirstOrDefault();
如果未找到任何项,则neededData将为NULL或默认值。您也可以在此处查看文档使用First()而不是ElementAt是否会产生结果?如果使用LINQ to SQL,则无法将其转换为SQL,而First()可以转换为TOP 1。是否检查了Id的大小写是否相同。