在C#中如何獲取程序的命令行參數(shù)
在C#中獲取程序的命令行參數(shù)
實現(xiàn)此目的的一種方法是重寫程序的Main方法并賦予其一個字符串?dāng)?shù)組參數(shù),如下面的代碼所示。
static void Main(string[] args)
{
foreach (string arg in args)
{
lstArguments.Items.Add(arg);
}
}這種方法是從 C 編程語言繼承而來的。
我更喜歡下面的方法
部分是因為您不需要處理Main,部分是因為它允許您在程序中的任何位置檢查命令行參數(shù)。
private void Form1_Load(object sender, EventArgs e)
{
foreach (string arg in Environment.GetCommandLineArgs())
{
lstArguments.Items.Add(arg);
}
}此代碼只是循環(huán)遍歷Environment.GetCommandLineArgs方法 返回的參數(shù)。
集合中的第一個參數(shù)始終是執(zhí)行程序的完全限定名稱。集合的其余部分保存?zhèn)鬟f給程序的任何其他參數(shù)。
這種技術(shù)很有趣
但更有趣的是,你可以用很多方法向程序發(fā)送參數(shù)。
例如,你可以:
在 IDE 中設(shè)置它們。打開“項目”菜單,選擇“屬性”(在底部),單擊“調(diào)試”選項卡,然后在“命令行參數(shù)”文本框中輸入?yún)?shù)。(這主要用于測試。)
在命令提示符下執(zhí)行程序(例如,運行命令或 cmd.exe),并在后面加上參數(shù)
將一個或多個文件或文件夾拖放到可執(zhí)行程序上。
右鍵單擊并將文件或文件夾發(fā)送到“發(fā)送到”菜單中添加的可執(zhí)行程序(請參閱我的帖子“將項目添加到發(fā)送到菜單”)。
拖放和發(fā)送到方法為您提供了一種相當(dāng)簡單的方法來制作處理文件或目錄的程序。啟動時,程序可以檢查其命令行參數(shù)。如果有任何參數(shù)(除程序名稱外),它可以處理文件。如果沒有參數(shù),它可以顯示用戶界面,以便用戶可以選擇要處理的文件。
這就是C# 中在目錄層次結(jié)構(gòu)中搜索文件以查找目標(biāo)字符串的示例的工作 原理。啟動時,它會檢查其命令行參數(shù)。如果程序有多個參數(shù),它會將第二個參數(shù)放在您輸入搜索起始目錄的文本框中。
這使得開始搜索變得更容易。只需將文件夾拖到可執(zhí)行程序上或通過“發(fā)送到”菜單將其發(fā)送到此程序即可。

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#監(jiān)聽txt文檔獲取新數(shù)據(jù)方式
文章介紹通過監(jiān)聽txt文件獲取最新數(shù)據(jù),并實現(xiàn)開機自啟動、禁用窗口關(guān)閉按鈕、阻止Ctrl+C中斷及防止程序退出等功能,代碼整合于主函數(shù)中,供參考學(xué)習(xí)2025-07-07
C# string轉(zhuǎn)換為幾種不同編碼的Byte[]的問題解讀
這篇文章主要介紹了C# string轉(zhuǎn)換為幾種不同編碼的Byte[]的問題解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘四 雙向鏈表
上節(jié)說過這節(jié)會講雙向鏈表,環(huán)形鏈表和應(yīng)用舉例,我們開始吧?。。?!2012-11-11
DevExpress實現(xiàn)TreeList向上遞歸獲取公共父節(jié)點的方法
這篇文章主要介紹了DevExpress實現(xiàn)TreeList向上遞歸獲取公共父節(jié)點的方法,需要的朋友可以參考下2014-08-08

