程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .NET中函數Main的使用技巧,.netmain使用技巧

.NET中函數Main的使用技巧,.netmain使用技巧

編輯:關於.NET

.NET中函數Main的使用技巧,.netmain使用技巧


引言

最近在使用pandoc這個文檔轉換軟件,能夠對各種文檔進行完美的轉換,比如從markdown文件轉為doc,ppt,tex,odt等等各種,感興趣的可以從Pandoc下載,對於pandoc的的文檔轉換,都是使用cmd中的命令來進行操作的。現在我需要把d盤的1123.md文件轉換為docx文檔,我只需要在cmd中輸入下面的命令即可實現。

當然在安裝pandoc的時候就已經把pandoc添加到環境變量中了,現在我們來分析一下這個命令pandoc 1123.md -o 1123.doc,將這個命令分為四部分,以空格進行分隔。pandoc為程序名稱,後面的1123.md、-0、1123.doc分別是傳入這個程序main函數中的3個參數。這種使用cmd命令來運行程序達到自己目的對於我來說是比較好奇的,下面我就利用.NET來實現這種模式。

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

1 Main函數的聲明

.NET中的Main的函數聲明,並沒有強調必須要以某種固定的格式進行聲明,下面這三種方式進行聲明都是可以的。

//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是帶參數無返回值,no.2是不帶參數無返回值,no.3是帶參有返回值的,不管哪種聲明方式,.NET都是允許的,這一點不像Java中的Main函數聲明,Java中的Main函數聲明,必須要是帶參數的,而且參數的必須要是String[] args,連args這個參數名稱都要一致。

但要注意的是,Main函數的函數名必須是大寫開頭的,即Main可以,而main不可以。我們需要再cmd中根據命令中傳入的參數來執行程序不同的功能,因此在這裡我們選擇no.1這種聲明形式。

2 使用帶參數的Main函數

下面使用代碼實現處理Program filename -o filename這種命令參數。代碼如下:

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

上述代碼就能夠實現Program filename -o filename命令的處理。首先程序判斷傳入進來的參數是不是三個,如果是三個,再判斷第二個參數是不是文檔轉換命令-o,如果是轉換命令就將第一個參數的文檔轉為第三個參數的文檔。

下面測試一下程序,將程序的可執行文件復制到d盤和轉換文檔同一目錄並改名為MainUsage.exe。在cmd中輸入MainUsage 1123.md -o 1123.docx,效果如下。

注意:cmd中傳入的參數是以空格進行分隔的.

3 總結
如果想要為外面的程序提供本程序的一些公開API接口,那麼就需要定義參數輸入的規定,然後在Main函數按照這一規定,接受並處理傳入進來的參數,並給外界返回結果。通過這種方式,外界的程序可以批量的使用該程序提供的某些功能。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持幫客之家。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved