2012-05-09 16 views
7

मैं इस कोड पर ठोकर खाई है:स्ट्रिंग। सामग्री में सी # में पैरामीटर की आवश्यकता नहीं है?

var knownSeparators = new[] { "\\", "/", "|", "." }; 
return knownSeparators.FirstOrDefault(path.Contains); 

जहां पथ एक स्ट्रिंग और वापसी मान एक स्ट्रिंग के रूप में अच्छी तरह से होना चाहिए।

हालांकि पथ। 'इंटेलिजेंस एक पैरामीटर सुझाता है, यह बिना किसी के ठीक काम करता है।

यह वास्तव में कैसे काम करता है? क्या इस व्यवहार को vb.net में कॉपी करने का कोई तरीका है?

उत्तर

7

FirstOrDefault एक प्रतिनिधि (Func<T, bool>) लेता है और यह कॉल विधि समूह से एक प्रतिनिधि बना रही है। यह बराबर है करने के लिए:

Func<string, bool> predicate = path.Contains; 
return knownSeparators.FirstOrDefault(predicate); 

मैं VB.NET में संदेह है कि आप कर सकता है:

Return knownSeparators.FirstOrDefault(AddressOf path.Contains) 

... लेकिन मैं यह कोशिश कर के बिना पक्का नहीं बता सकता।

+0

अफसोस की बात यह है कि यह अभी भी एक ही त्रुटि देता है कि इसे पैरामीटर (पता जोड़ने के बाद) – Terry

+0

@djerry: मैंने ब्रैकेट को हटाने के लिए संपादित किया है - देखें कि क्या इससे मदद मिलती है। –

+0

वास्तव में, इससे छुटकारा पा लिया, धन्यवाद, धन्यवाद। – Terry

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

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