ऐसा इसलिए है क्योंकि आपने Sub
के बजाय Function
का उपयोग किया था। चूंकि Function
एक मान देता है, इसलिए संकलक मानता है कि बराबर चिह्न (=) तुलना के रूप में उपयोग किया जाता है, असाइनमेंट नहीं। आप Sub
को Function
बदलते हैं, तो संकलक सही ढंग से विचार किया जाएगा बराबर एक काम के रूप में साइन इन करें: यदि आप एक बहु लैम्ब्डा था
TempList.ForEach(Sub(obj) obj.Deleted = True)
;
TempList.ForEach(Function(obj)
obj.Deleted = True
Return True
End Function)
जाहिर है, foreach विधि के लिए यह कोई मतलब नहीं एक Function
उपयोग करने के लिए है क्योंकि मान का उपयोग नहीं किया जाएगा, ताकि आप एक Sub
का उपयोग करना चाहिए बनाता है: यदि आप इस समस्या नहीं पड़ता था।
स्रोत
2012-01-17 16:42:00
अहह जो अब सही समझ में आता है, उसके लिए बहुत धन्यवाद। यह सब अभी भी मेरे लिए काफी नया है :-) –
मुझे यह स्वीकार करना होगा कि पहले, मुझे नहीं पता था कि क्या हो रहा था ;-) –
मुझे आश्चर्य है कि यह सामान कितना शक्तिशाली है, खुद को यह सीखने के लिए मजबूर कर रहा है LINQ है। –