में डेटाटेबल के रूप में रिटर्न पावरहेल पीएसओब्जेक्ट मैंने एक पावरहेल स्क्रिप्ट लिखी है जो एक CSV फ़ाइल पढ़ता है और डेटा से पूर्व निर्धारित संग्रह देता है। नीचे कहा गया स्क्रिप्ट का एक नमूना आउटपुट है।सी #
Count Name
------ ------
12 Rubies
3 Pearls
20 Emeralds
मैं बहुत की तरह एक PSObject में संग्रहीत करके सी # में परिणाम प्राप्त करने में सक्षम हूँ:
var shell = PowerShell.Create();
shell.Commands.AddScript("C:\\Scripts\\Powershell\\Get-MyData.ps1");
Collection<PSObject> results = shell.Invoke();
अब जब मैं एक वस्तु की उम्मीद कर रहा हूँ, मैं और प्रत्येक मान प्राप्त करने के लिए कर रहा हूँ उन्हें इस तरह के चर के लिए असाइन करें:
foreach (PSObject psObject in results)
{
localVariable = Convert.ToString(psObject.Properties["Name"].Value);
}
हालांकि, मुझे इस समाधान को गतिशील में परिवर्तित करने में समस्या हो रही है। यही कहना है कि पंक्तियों की संख्या अलग-अलग होने की उम्मीद है। तो मैंने इसे पहले लागू किया है जब स्रोत here पर पोस्ट किए गए समाधान के समान समाधान का उपयोग कर SQL डेटाबेस है, इसलिए मैंने माना है कि डेटाटेबल्स जाने का तरीका होना चाहिए लेकिन मैं इसे इस परिदृश्य में काम नहीं कर सकता। कोई विचार या सुझाव? धन्यवाद!
नोट: यहां पावरहेल स्क्रिप्ट घटक अनिवार्य है क्योंकि इसमें आउटपुट बनाने के लिए अन्य तंत्र शामिल हैं, जबकि मैं सी # सी का उपयोग कर सीएसवी फ़ाइल से पढ़ सकता हूं, यह बस एक विकल्प नहीं है।
आपको क्या समस्या है? जो मैंने समझा, उससे आप सभी परिणामों को फिर से शुरू कर रहे हैं और बिना किसी समस्या के अपने गुणों का उपयोग कर रहे हैं, तो लाइनों की परिवर्तनीय संख्या के कारण होने वाली सटीक समस्या क्या है? –
हाय लुकास, मैं केवल मूल्य लाने में सक्षम हूं अगर मुझे पता है कि कितनी पंक्तियां हैं। (सरणी संदर्भ 'सरणी [0]' या 'सरणी [1]) के समान है। मैं एक ऐसा फ़ंक्शन बनाने की कोशिश कर रहा हूं जो सभी परिणामों को एक डेटाटेबल में संग्रहीत कर सके।आशा है आप यह बात समझ गए होंगे। – Yad
जब आप किसी फ़ोरैच स्टेटमेंट के साथ पुनरावृत्त कर रहे हैं तो आपको सर रेफरेंसिंग की आवश्यकता नहीं है। और यदि आप करते हैं, तो भी मैं