【问题标题】:why cant I compare two id's in c#为什么我不能比较c#中的两个id
【发布时间】:2016-03-31 08:57:09
【问题描述】:

我尝试比较两个 id 并获得一些结果。它适用于其他字符串。但不适用于此。 我试过这样。

var neededData = mainFaires.Where(c => c.trimacid == passId );

在这里passId= OX20160330HAVHAV

mainFaires 列表中,某处包含此id。但它没有给出结果。我在这里找到

var x = mainFaires.ElementAt(27261);

此列表包含相同的id。但没有给出结果。我想不出为什么。

【问题讨论】:

  • 使用 First() 代替 ElementAt 会给你一个结果吗?如果您使用的是 LINQ to SQL,则无法将其转换为 SQL,而 First() 可以转换为 TOP 1
  • 你有没有检查过ID的大小写是否相同。

标签: c# asp.net-mvc list compare


【解决方案1】:

ElementAt 是找到位置。

您应该使用 select 来查找记录

var x = mainFaires.Select(o => o.trimacid == 27261);

【讨论】:

    【解决方案2】:

    您应该使用.ToList() .First().FirstOrDefault() 来实际提交查询并获得结果。您的代码仅定义了查询,但并未实际将其提交给数据集合。

    如果您希望结果只有一项,您的代码应如下所示:

    var neededData = mainFaires.Where(c => c.trimacid == passId ).FirstOrDefault();
    

    如果没有找到项目,needData 将为 NULL 或任何默认值。你也可以在这里查看文档https://msdn.microsoft.com/en-us/library/system.linq.enumerable%28v=vs.100%29.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多