जब आप कमांड लाइन को पार्स करते हैं तो तर्क के रूप में तर्क के साथ Dictionary
में तर्क/मान जोड़े डाल दें। फिर अपने arg("SetTime")
हो जाएगा:
MessageBox.Show(dictionary["SetTime"]);
(जाहिर है आप नहीं करना चाहते हैं वास्तविक शब्दकोश सार्वजनिक किया जाना है।)
पहली जगह में तर्क आप उपयोग कर सकते हैं पाने के लिए:
string[] args = Environment.GetCommandLineArgs();
यह सभी तर्क वापस कर देगा, इसलिए आपको दो चरणों में सरणी को पार्स करने की आवश्यकता होगी (पहली बार यह जांचने के बाद कि लंबाई दो + 1 का एक बहु है):
MSDN Page - - सरणी के पहले तत्व को क्रियान्वित कार्यक्रम का नाम है तो अपने पाश में से एक से शुरू करने के लिए की जरूरत है:
for (int index = 1; index < args.Length; index += 2)
{
dictionary.Add(args[index], args[index+1]);
}
यह दो के चरणों में लूप के रूप में आपके द्वारा निर्धारित प्रत्येक तर्क मूल्यों की एक जोड़ी है: पहचानकर्ता और वास्तविक मूल्य खुद, उदाहरण के लिए
string value;
if (dictionary.TryGetValue(arg, out value))
{
// Do what ever with the value
}
इसका मतलब है आप किसी भी क्रम में तर्क हो सकता है:
my.exe -arg1 value1 -arg2 value2
तो फिर तुम बस अगर कुंजी -arg1
शब्दकोश में है और फिर पढ़ा यह मूल्य अगर तर्क देखकर द्वारा निर्दिष्ट किया जाता देख सकते हैं और उन तर्कों को छोड़ दें जिन्हें आप निर्दिष्ट नहीं करना चाहते हैं।
संबंधित [डब्ल्यूपीएफ कमांड लाइन] (http://stackoverflow.com/questions/426421/wpf-command-line) – Vache
क्या आपने कोडप्लेक्स को देखने का प्रयास किया है? कमांड लाइन पार्सिंग के लिए कई अलग-अलग कार्यान्वयन हैं। –
कमांड लाइन तर्कों को संभालने के लिए कई पुस्तकालय हैं, देखें: http://stackoverflow.com/questions/491595/best-way-to-parse-command-line-arguments-in-c –