Что такое LINQ Any Query в VB.NET? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу проверить, содержит ли DataTable определенную строку, а затем возвращает true или false - в C # я бы просто использовал следующий код, но я не уверен, как он работает в vb.net

 var bool = dt.AsEnumerable().Any(x => x.Field<string>("Name") == "Tobi");

Ответы [ 2 ]

1 голос
/ 17 октября 2019

Возможно, вы захотите взглянуть на Лямбда-выражения в VB.NET

Эквивалентом вашего утверждения будет:

Dim result = dt.AsEnumerable().Any(Function(x) x.Field(Of String)("Name") = "Tobi")

Расширения LINQ должны иметьчетность между C # и VB.NET, так как они оба взяты из одной библиотеки базовых классов. Синтаксис лямбд и дженериков будет вашим главным отличием.

0 голосов
/ 17 октября 2019

Вот что я бы сделал. Убедитесь, что вы также явно объявляете результат как логическое значение, не рекомендуется просто использовать Object.

И это всего лишь альтернатива. Я склонен использовать SingleOrDefault () довольно часто, но вы также можете легко использовать Any () (вы просто избавитесь от нулевой проверки в конце)

Dim result As Boolean = dt.AsEnumerable().SingleOrDefault(Function(r) String.Compare(r.Item("Name"), "Tobi", StringComparison.InvariantCultureIgnoreCase) = 0) IsNot Nothing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...