vb.net 中 LINQ 的新手问题

Posted

技术标签:

【中文标题】vb.net 中 LINQ 的新手问题【英文标题】:Newbie issue with LINQ in vb.net 【发布时间】: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 语句等效的语句。

非常感谢。

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

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

非常感谢您的回复。

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

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

再次感谢!

【讨论】:

以上是关于vb.net 中 LINQ 的新手问题的主要内容,如果未能解决你的问题,请参考以下文章

新手关于VB.net的问题

SQL 新手并遇到语法问题 (VB.NET)

在 VB.NET 中使用带有匿名方法的 LINQ 的 ForEach

在 vb.net 中使用 MATLAB 函数

在 vb.net 中的网站的 gridview 中显示表格

使用 EF5 Linq to Entities 作为 DAL 到 BLL 到 ObjectDataSource