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