1樓:
main方法是程式的入口點,您將在那裡建立物件和呼叫其他方法,程式控制在該方法中開始和結束。一個 c# 程式中只能有一個入口點。該方法在類或結構的內部宣告。
它必須為靜態方法,而不應為公共方法。(它接受預設訪問級別 private。)
它可以具有 void 或 int 返回型別。宣告 main 方法時既可以使用引數,也可以不使用引數,使用引數的話只能是string陣列,main方法一共有以下四種形式
1.沒有引數 返回值為void static void main()
2.沒有引數返回值為int static int main()
3.帶有引數返回值為void static void main(string args)
4.帶有引數返回值為int static int main(string args)
這4種main方法都沒有包含訪問修飾符(如public)。即使包含訪問修飾符,也會在執行時忽略它們。c#的慣例是在main方法中忽略訪問修飾符。
string陣列引數的使用(例子) :
步驟1:建立一個控制檯應用程式,暫且命名為main.cs
步驟2:貼上下面這段**。
using system;
class program}}
步驟3:編譯並執行main.cs,生成main.exe檔案
步驟4:在命令列模式下輸入c:\>main a b c ,敲回車看結果
輸出結果為:
main函式引數args的長度:3
第0位是:a
第1位是:b
第2位是:c
由於引數個數是未知的,所以允許輸入任意多個,也可以不輸入
或者在執行之前將我們的引數設定,以便傳入。在"解決方案"視窗中,右鍵你的專案名,選擇 "屬性",在彈出的新視窗中選擇 "除錯" ->"啟動選項"->"命令列引數" 中,輸入你要傳入的string引數值。(多個引數之間用空格隔開)
如果不需要使用 main 的返回值,則返回 void 可以使**變得略微簡單。但是,返回整數可使程式將狀態資訊與呼叫該可執行檔案的其他程式或指令碼相關。下面的示例演示使用
main 的返回值。
class mainreturnvaltest
}由於此示例使用了批處理檔案,因此最好從命令列編譯這段**,
然後,使用批處理檔案呼叫前面的**示例所生成的可執行檔案。由於**返回零,因此批處理檔案將報告成功。但如果前面的**更改為返回非零值,然後重新編譯,則批處理
檔案的後續執行將指示失敗。
rem test.bat
@echo off
mainreturnvaluetest
@if "%errorlevel%" == "0" goto good
:fail
echo execution failed
echo return value = %errorlevel%
goto end
:good
echo execution succeded
echo return value = %errorlevel%
goto end
:end
示例輸出
execution succeded
return value = 0
在此示例中,使用了一個批處理檔案來執行程式並測試 main 函式的返回值。在 windows 中執行程式時,main 函式返回的任何值都將儲存在名為 errorlevel 的環境變數中。通
過檢查 errorlevel 變數,批處理檔案可以確定執行的結果。通常,返回值為零指示執行成功。
2樓:匿名使用者
樓上的意建和解釋都是有道理的。
關於建構函式初始化:你買個新房要裝修一下才會去入住;同樣,你的一些變數也要對它進行一些操作才可以用(如果不做初始化,原來記憶體單元存的是什麼是不確定的,所以如果你不寫建構函式的話,編譯器會有一個預設的建構函式,把所有變數賦值為0或null;不同語言會有不同),但你也可以按你自己的意思,對變數進行賦值。但建構函式可以做的不只是賦值,只要是你想它做的,都可以寫到裡面去;編譯器會在每次執行這個類時首先去執行建構函式而已。
它也沒什麼特別的
另外,虛機團上產品**,超級便宜
c#中void main(string[] args)裡帶了這個引數有什麼作用啊?
3樓:匿名使用者
引數起什麼作用是要程式設計或設計人員來定的。
比如:你在windows的執行裡邊,輸入內notepad,他就會打容開記事本;
如果你輸入“notepad c:\boot.ini”,他就會開啟記事本的同時,把c盤的叫boot.ini的檔案開啟,等待你的編輯。
這就是區別,只是我們平時很少用到。
還有像ie也是有很多引數的,只是我們每次啟動都是雙擊一下圖示他就出來了。很少去用引數。
4樓:拖鞋不脫
示例:static void main(string args)編譯下,然後把生成的exe檔案改名放到c:\1.exe位置。
在開始-》運
行裡輸內入cmd,進入dos模式
然後》1.exe hello world
就會容看到結果是輸出 hello world,也就是字串hello和world作為了兩個引數傳入了程式中。
除了上述辦法
在vs200x環境下的啟動屬性裡面有相關屬性可以更改
5樓:匿名使用者
比如說 本來你的程式是全螢幕執行的.現在你需要它以視窗模式執行,那麼就1.exe -window
那你在程式裡面
if(args[0]="-window")
6樓:放開那頭母狼
恩 用處不大 就是在程式的入口就傳參
因為main是程式的開始嘛
和別的方法一樣 只是不知道 使用者需要幾個引數 所以才這樣
c中函式引數指什麼?如何給函式的引數賦值
華師 c main函式的四種情況 static void main static int main static void main string args static int main string args 1.主程式main函式一共有以上四種版 2.一個程式中不能有兩個以上的main函式,有...
C 中關於const做為函式引數的常引用
在vs2008c c 程式,示意如下 int main func1定義為void func1 const char c1 在編譯工程選項裡選擇作為c 程式編譯,就會出錯,cannot convert parameter 1 from unsigned char to const char c 中函式...
C陣列的引用做函式引數怎麼寫,c 中關於陣列作為函式引數的幾種方法
陣列名作函式引數 陣列名可以作函式的實參和形參。如 12 3456 78910 11main f int arr,int n array為實引數組名,arr為形引數組名。在學習指標變數之後就更容易理解這個問題了。陣列名就是陣列的首地址,實參向形參傳送陣列名實際上就是傳送陣列的地址,形參得到該地址後也...