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

Popular posts from this blog

mysql - BLOB/TEXT column 'value' used in key specification without a key length -

c# - Using Vici cool Storage with monodroid -

c# - Confused over DLL entry points (entry point not found exception) -