c# - LINQ newbie question for 2 dimensional set -
मेरे पास एक LINQ क्वेरी है जो पूर्णांक के साथ ID मान खींचती है:
  var data = from एस में बेसडेटा का चयन करें नया s.rooid, s.Tid}; ? डेटा .ओएआरआरए () {& lt; & gt; f__AnonymousType0 & lt; int, int & gt; [14]} [0]: {Roid = 2384, Tid = 1} [1]: {Roid = 2384, Tid = 2} [2]: {Roid = 2384, Tid = 3} [3]: {Roid = 2385, Tid = 4} [4]: {Roid = 2385, Tid = 5} [5]: {Roid = 2385, Tid = 6} [6 ]: {Roid = 2386, Tid = 1} [7]: {Roid = 2386, Tid = 3} [8]: {Roid = 2386, Tid = 6} [9]: {Roid = 2386, Tid = 7} [10]: {Roid = 2387, Tid = 1} [11]: {Roid = 2387, Tid = 2} [12]: {Roid = 2387, Tid = 4} [13]: {Roid = 2387, Tid = 9}    मैं क्या करना चाहूंगा, केवल एक रोध के लिए परिणाम सेट को क्वेरी और केवल टीड मानों को निकालने के लिए है।  
 इसलिए मैं रओड = 2387, जो 1, 2, 4, 9 लौटाएगा, जो मैं एक सरणी में कनवर्ट करना चाहता हूं।  
 क्या ऐसा कुछ संभव है?  
  // *** संपादित करें *** var आइटम = डेटा.ToArray ()। जहां (s = & gt; s.RepairOrderId == 2387); // मुझे करीब ले जाता है, लेकिन मैं अभी भी केवल TID का संपादन करना चाहता हूं *** संपादित करें ***     
 <पूर्व>  var tidsFromRoid = data.Where (x = & gt; x.Roid == 2387)। चुनें (x = & gt; x.Tid);    यह एक ऐसे बदलाव को वापस करेगा जिसमें केवल जोड़े शामिल हैं, जिनके  Roid == 2387 , और उसके बाद के बाद से, यह प्रत्येक तत्व को केवल इसके  Tid पर प्रोजेक्ट करता है ।   ध्यान दें कि यदि आप इसे एक सरणी के रूप में चाहते हैं, तो  कॉल करें। ToArray ()  के बाद:    var arrayOfTids = tidsFromRoid .ToArray ();    यदि आप इसे बहुत शुरुआत से करना चाहते हैं (क्योंकि आप कभी भी अन्य  roid  s के बारे में ध्यान नहीं देंगे) तो आप अपनी मूल क्वेरी बनाते हैं: < / P>   var सरणीऑफ़टीड्स = बेसडेटा.वहाँ (x = & gt; x.Roid == 2387)। चयन करें (x = & gt; x.Tid) .ओएरे ();    
 
  
Comments
Post a Comment