溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

.NET中函數(shù)Main怎么用

發(fā)布時(shí)間:2021-08-27 13:54:09 來(lái)源:億速云 閱讀:102 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下.NET中函數(shù)Main怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

引言

最近在使用pandoc這個(gè)文檔轉(zhuǎn)換軟件,能夠?qū)Ω鞣N文檔進(jìn)行完美的轉(zhuǎn)換,比如從markdown文件轉(zhuǎn)為doc,ppt,tex,odt等等各種,感興趣的可以從Pandoc下載,對(duì)于pandoc的的文檔轉(zhuǎn)換,都是使用cmd中的命令來(lái)進(jìn)行操作的?,F(xiàn)在我需要把d盤(pán)的1123.md文件轉(zhuǎn)換為docx文檔,我只需要在cmd中輸入下面的命令即可實(shí)現(xiàn)。

.NET中函數(shù)Main怎么用

當(dāng)然在安裝pandoc的時(shí)候就已經(jīng)把pandoc添加到環(huán)境變量中了,現(xiàn)在我們來(lái)分析一下這個(gè)命令pandoc 1123.md -o 1123.doc,將這個(gè)命令分為四部分,以空格進(jìn)行分隔。pandoc為程序名稱,后面的1123.md、-0、1123.doc分別是傳入這個(gè)程序main函數(shù)中的3個(gè)參數(shù)。這種使用cmd命令來(lái)運(yùn)行程序達(dá)到自己目的對(duì)于我來(lái)說(shuō)是比較好奇的,下面我就利用.NET來(lái)實(shí)現(xiàn)這種模式。

想要實(shí)現(xiàn)上面的這種效果,那么就不得的了解.NET中Main函數(shù)的使用了。首先,我們要知道.NET中程序Main是如何聲明的。

1 Main函數(shù)的聲明

.NET中的Main的函數(shù)聲明,并沒(méi)有強(qiáng)調(diào)必須要以某種固定的格式進(jìn)行聲明,下面這三種方式進(jìn)行聲明都是可以的。

//no.1
static void Main(string[] args)
{
 Console.WriteLine("Hello World");
 Console.ReadKey();
}
//no.2
static void Main()
{
 Console.WriteLine("Hello World");
 Console.ReadKey();
}
//no.3
static int Main(string[] args)
{
 Console.WriteLine("Hello World");
 Console.ReadKey();
 return 1;
}

no.1是帶參數(shù)無(wú)返回值,no.2是不帶參數(shù)無(wú)返回值,no.3是帶參有返回值的,不管哪種聲明方式,.NET都是允許的,這一點(diǎn)不像Java中的Main函數(shù)聲明,Java中的Main函數(shù)聲明,必須要是帶參數(shù)的,而且參數(shù)的必須要是String[] args,連args這個(gè)參數(shù)名稱都要一致。

但要注意的是,Main函數(shù)的函數(shù)名必須是大寫(xiě)開(kāi)頭的,即Main可以,而main不可以。我們需要再cmd中根據(jù)命令中傳入的參數(shù)來(lái)執(zhí)行程序不同的功能,因此在這里我們選擇no.1這種聲明形式。

2 使用帶參數(shù)的Main函數(shù)

下面使用代碼實(shí)現(xiàn)處理Program filename -o filename這種命令參數(shù)。代碼如下:

static void Main(string[] args)
{
 if (args.Length == 3)
 {
  //第二個(gè)參數(shù)是-o,則把第一個(gè)參數(shù)的文檔轉(zhuǎn)為第三個(gè)參數(shù)的文檔
  if (args[1] == "-o")
  {
   if (File.Exists(args[0]))
   {
    if (Check(args[2]))
    {
     //進(jìn)行轉(zhuǎn)換的邏輯
     Console.WriteLine("{0}—》{1}轉(zhuǎn)換成功",args[0],args[2]);
    }
    else
    {
     Console.WriteLine(args[1] + "不合法");
    }
   }
   else
   {
    Console.WriteLine(args[0]+"不存在");
   }
  }
 }
 Console.ReadKey();
}

上述代碼就能夠?qū)崿F(xiàn)Program filename -o filename命令的處理。首先程序判斷傳入進(jìn)來(lái)的參數(shù)是不是三個(gè),如果是三個(gè),再判斷第二個(gè)參數(shù)是不是文檔轉(zhuǎn)換命令-o,如果是轉(zhuǎn)換命令就將第一個(gè)參數(shù)的文檔轉(zhuǎn)為第三個(gè)參數(shù)的文檔。

下面測(cè)試一下程序,將程序的可執(zhí)行文件復(fù)制到d盤(pán)和轉(zhuǎn)換文檔同一目錄并改名為MainUsage.exe。在cmd中輸入MainUsage 1123.md -o 1123.docx,效果如下。

.NET中函數(shù)Main怎么用

注意:cmd中傳入的參數(shù)是以空格進(jìn)行分隔的.

以上是“.NET中函數(shù)Main怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI