2010-03-09 19 views
5

वीबीएनईटी इस सी # कोड के बराबर है?इस सी # कोड के समतुल्य वीबीएनईटी क्या है?

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."

विचार

+0

शीर्षक है देखने के लिए एक स्ट्रिंग? – garik

+0

शीर्षक एक प्रॉपर्टी है जो स्ट्रिंग प्रकार – Bob

उत्तर

2

के साथ इस त्रुटियों अगर शीर्षक है स्ट्रिंग IsNullOrEmpty) का उपयोग करें (कोशिश;

या

Nullable (टी का) .HasValue शीर्षक यदि 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 
+0

होती है मैंने इन्हें आजमाया है और 1) प्रकार एक स्ट्रिंग को शून्य नहीं है। 2) लैम्ब्डा कथन में स्ट्रिंग तुलना करने लगते हैं ... – Bob

+0

कृपया मेरा नमूना देखें। यह – garik

0

आप 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))) 
+0

काम करता है जब मैं इसे लैम्ब्डा अभिव्यक्ति में आज़माता हूं, मुझे एक त्रुटि मिलती है जिसमें कहा गया है कि अभिव्यक्ति में IsNnothing सदस्य का उपयोग नहीं किया जा सकता है ... – Bob

0

यह वास्तव में काम करना चाहिए:

ctx.Load(site, Function(x) x.Lists.Where(Function(l) l.Title.IsNullOrEmpty = False)) 

यदि यह नहीं है, मुझे त्रुटि संदेश बताएं।

2

यह धोखा दे रही हो सकता है, लेकिन मैं अतीत में परावर्तक का इस्तेमाल किया है मेरी सी # कोड डिकंपाइल और फिर दूसरे नेट भाषाओं के रूप में यह प्रदर्शित करने के लिए सिर्फ वे इस तरह दिखाई देंगे के रूप में मैं सी # में सबसे धाराप्रवाह हूँ

संबंधित मुद्दे