VB.NET, эквивалентный этому коду C#?
ctx.Load(site,
x => x.Lists.Where(l => l.Title != null));
Я попробовал
ctx.Load(site, Function(x) x.Lists.Where(Function(l) l.Title IsNot Nothing))
но это ошибки с "The expression (Convert(l.Title) != null) is not supported."
Мысли
Вы пробовали функцию IsNothing ?
ctx.Load(site, Function(x) x.Lists.Where(Function(l) Not IsNothing(l.Title)))
РЕДАКТИРОВАТЬ:
Теперь, когда вы указали, что заголовок является строкой , то вам следует использовать функцию IsNullOrEmpty.
ctx.Load(site, Function(x) x.Lists.Where(Function(l) Not String.IsNullOrEmpty(l.Title)))
, если Title является строкой, попробуйте использовать IsNullOrEmpty ();
или
Nullable (Of T) .HasValue, если Title имеет значение Nullable
или
Sub Main()
Dim list As New List(Of A)
Dim a1 As New A
a1.Title = "sqws"
Dim a2 As New A
a2.Title = Nothing
list.Add(a1)
list.Add(a2)
Dim q = From c In list Where c.Title IsNot Nothing
End Sub
Public Class A
Dim t As String
Public Property Title() As String
Get
Title = t
End Get
Set(ByVal value As String)
t = value
End Set
End Property
End Class
Это может быть обман, но я использовал Reflector в прошлом, чтобы декомпилировать свой код C #, а затем отображать его как другие языки .NET, чтобы посмотреть, как они будут выглядеть, поскольку я наиболее свободно говорю на C #
{{1 }}Dies sollte wirklich funktionieren:
ctx.Load(site, Function(x) x.Lists.Where(Function(l) l.Title.IsNullOrEmpty = False))
Wenn dies nicht der Fall ist, lassen Sie mich die Fehlermeldung wissen.