मेरे पास दो क्षेत्र, "startLocation" और "endLocation" वाले "क्षेत्र" वर्ग की एक सूची < है। मैं उन दोनों को एक नए क्रमबद्ध 2 आयामी सरणी में जोड़ना चाहता हूं जहां इसकी बस स्थान और एक पूर्णांक यह दर्शाता है कि इसकी शुरुआत या अंत है या नहीं।सी # - 2-आयामी सरणी में दो चर लेने के लिए LINQ का उपयोग करना?
उदाहरण के लिए, यदि सूची के साथ
[क्षेत्र 1] तीन क्षेत्र वस्तुएं हैं: startLocation = 5, endLocation = 7
[क्षेत्र 2]: startLocation = 3, endLocation = 5
[क्षेत्र 3]: startLocation = 8, endLocation = 9
मैं एक हल कर दो आयामी सरणी प्राप्त करने के लिए (या सूची या समान) की तरह लग रही करना चाहते हैं:
[3] [1]
[5] [1]
[5] [-1]
[7] [-1]
[8] [1]
[9] [-1]
(अधिमानतः मैं अपने दूसरे मानों को एक साथ जोड़ने के लिए है, तो दो अलग-अलग 5 सरणी में की [5 0] में जोड़ा जा होगा ओवरलैप करना चाहते हैं ... लेकिन वह भी महत्वपूर्ण नहीं है)
मैं मैं वर्तमान में नियमित रूप से एक-एक करके प्रत्येक के माध्यम से जा रहा हूं और उन्हें एक समय में एक सूची में जोड़ रहा हूं। यह कार्यान्वयन काफी धीमा है क्योंकि मैं बड़े डेटासेट के साथ काम कर रहा हूं, और मुझे लगता है कि LINQ के माध्यम से इसे पूरा करने के लिए एक और अधिक सुरुचिपूर्ण/तेज़ तरीका है।
किसी भी सुझाव की बहुत सराहना की जाएगी।
यह एक अच्छा विचार की तरह लगता है। मुझे इसे आज़माएं और देखें कि क्या मेरे पास अब तेज़ है। धन्यवाद! – DarkAmgine
यह क्यों नहीं है। चयन करें (x => x.Split())? – mquander
यह दृष्टिकोण पैदा करता है (कोई इरादा नहीं है!) किसी फोरैच पर कोई लाभ नहीं है, और वास्तव में यहां उपयोग किए जाने वाले एकाधिक गणक के साथ अधिक ओवरहेड प्रस्तुत करता है। यह निश्चित रूप से चालाक है, लेकिन मैं इसे किसी भी तेज़ या अधिक पठनीय होने के रूप में नहीं देखता हूं। –