![](/img/trans.png)
[英]What is the difference between „public static void Main()“ and „public static void Main(String[] args)“?
[英]What is the difference between public static void Main() and private static void Main() in a C# console application?
有什么區別
public static void Main()
和
private static void Main()
在C#控制台應用程序中? 特別是因為它與Main()
方法有關(我理解public
和private
之間的差異)。
要充當應用程序的起點, Main
方法不需要public
。
如果您確定將其public
,則可以從其他類或程序集中調用它。 通常,您不需要這樣做,因此您可以將其private
。
將其public
一個可能用例是允許自動化測試來調用它。
兩者之間的區別是public
和private
訪問修飾符的唯一區別,因為它們都是有效的。它完全取決於應用程序的使用情況。
如果您想通過任何外部程序啟動入口點(即用作API,用於測試目的),那么您可能需要將其公開以便可訪問。
如果您知道應用程序沒有外部使用,那么最好將其設置為私有,以便外部應用程序無法訪問它。
除了普通的公共和私人訪問修飾符功能,沒有。 兩者都是有效的切入點。
當main是私有的時,main被標記為exe本身執行的入口點,因此外部的任何東西都無法訪問它
將其公開將使該方法可從外部訪問
有區別,因為第一個是公共的,第二個是私有的,所以當你嘗試從課外使用第一個時,它可以正常工作,但不適用於第二個。
但是,如果您嘗試在應用程序中創建其中一個入口點,則沒有區別。 入口點方法可以是公共的也可以是私有的,沒關系。
public和private是訪問說明符。
我們用,
public static void Main()
因為要執行該程序,您需要調用存在此Main()方法的類,因為您需要將Main()方法設為public,否則將無法在類外部訪問它。
它之所以是靜態的,是因為需要訪問它而不在類級創建該類的任何對象.ie。
私有或公共語句是它的訪問修飾符,私有訪問修飾符使外部對象無法訪問,公共訪問修飾符使外部對象可以訪問它。 示例用法:
假設我們有一個班級:
class myClass{
public void test(){
//do something
}
}
我們創建該類的實例:
myClass mClass=new myClass();
要訪問它的成員函數,你會去:
mClass.test();
如果它有一個私有訪問修飾符,你會收到一個編譯錯誤,說它無法訪問。
而且出於知識的考慮,要在不創建類實例的情況下訪問成員,您還要將該成員設置為靜態,例如:
class myClass{
public static void test(){
//do something
}
}
所以現在要訪問它,你只需要:
myClass.test();
(請注意,在靜態成員中訪問的任何成員也應該是靜態的)
基於訪問級別。
private--> access to own class
public --> open to alll
例如,當您想要添加可以從類或程序集外部調用的入口點時,您應該設置為public
但如果它不是importatnt則使用private
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.