C# 为什么我不能比较两个id';c中的s#

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。但没有给出结果。我想不出原因。元素位于查找位置 您应

我尝试比较两个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的大小写是否相同。