2011-06-20 10 views
67

सी # LINQ वाक्यविन्यास का उपयोग कर एक प्रश्न लिखते समय, क्वेरी वाक्यविन्यास से क्वेरी करने योग्य। चयन करें विधि का उपयोग करने का कोई तरीका है?क्या क्वेरी के लिए सी # LINQ वाक्यविन्यास है। चयन करें() विधि?

string[] text = { "Albert was here", 
        "Burke slept late", 
        "Connor is happy" }; 

धाराप्रवाह तरीकों का उपयोग कर के लिए मैं क्वेरी सकता

var tokens = text.SelectMany(s => s.Split(' ')); 

वहाँ एक क्वेरी सिंटैक्स

के लिए समान है
var tokens = from x in text selectmany s.Split(' ') 
+0

उदाहरण कुछ सुधार की जरूरत है ... लेकिन मैं यह संदेह जीई टीएस मूल बिंदु पर। बेहतर उदाहरणों का सुझाव देने के लिए स्वतंत्र महसूस करें। – BrianCooksey

उत्तर

91

हाँ, तुम सिर्फ दोहराने से ... में खंड:

var words = from str in text 
      from word in str.Split(' ') 
      select word; 
+1

क्या सी # वास्तव में इसे चुनने के लिए हल करता है? – BrianCooksey

+3

@BCooksey - हाँ ... क्योंकि आप पहले परिणाम के अंदर घोंसला वाले संग्रह से चयन कर रहे हैं। –

+3

इन सभी कॉलों को SelectMany द्वारा सर्विस किया जा सकता है, जो बेहद लचीला है, लेकिन संकलक क्वेरी के रूप के आधार पर चयन, SelectMany और यहां तक ​​कि कोई भी परिवर्तन के बीच चयन नहीं करेगा – Sprague

13

आपकी क्वेरी के रूप में फिर से लिखा जाएगा:

var tokens = from x in text 
      from z in x.Split(' ') 
      select z; 

यहाँ लैम्ब्डा के किनारे-साथ कुछ उदाहरणों की है कि एक अच्छा पेज है और क्वेरी वाक्य रचना:

Select Many Operator Part 1 - Zeeshan Hirani