【问题标题】:Newbie issue with LINQ in vb.netvb.net 中 LINQ 的新手问题
【发布时间】:2008-12-16 17:44:48
【问题描述】:

这是我的一个函数中的一行,用于测试我的数组中的任何对象是否具有具有匹配值的给定属性

Return ((From tag In DataCache.Tags Where (tag.FldTag = strtagname) Select tag).Count = 1)

在哪里……

DataCache.Tags 是一个自定义对象数组

strtagname = "brazil"

巴西绝对是存储在数组中的自定义对象之一中的标记名称。

但是该函数不断返回 false。

有人可以向我确认上述是否应该有效。

如果它不起作用,谁能告诉我测试数组中的任何对象是否包含具有特定值的属性的最佳方法。

我想总而言之,我正在寻找与 SQL EXISTS 语句等效的语句。

非常感谢。

【问题讨论】:

    标签: vb.net linq exists


    【解决方案1】:

    您的代码当前正在检查计数是否正好为一。

    在 LINQ 中 EXISTS 的等价物是 Any。你想要这样的东西:

    Return DataCache.Tags.Any(Function(tag) tag.FldTag = strtagname)
    

    (奇迹般地看起来语法可能是正确的......它看起来像文档示例......)

    【讨论】:

    • jon skeet - 您从这个网站上的粉丝那里收到了多少封电子邮件?
    • @theman:实际上并不多。一些我之前认识的人的邮件,但不是很多。
    【解决方案2】:

    非常感谢您的回复。

    您的代码无效。然后我意识到我正在与一个数组值进行比较,所以它是区分大小写的。

    很高兴我问了这个问题,因为我找到了比我更好的方法。

    再次感谢!

    【讨论】:

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