當(dāng)前位置:
首頁 >
c#初学12-12-为什么mian函数必须是static的
發(fā)布時(shí)間:2025/3/15
43
豆豆
生活随笔
收集整理的這篇文章主要介紹了
c#初学12-12-为什么mian函数必须是static的
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
c#程序剛開始啟動(dòng)的時(shí)候都會(huì)有唯一一個(gè)入口函數(shù)main()函數(shù),而非靜態(tài)成員又稱實(shí)例成員,必須作用于實(shí)例。在程序剛開始運(yùn)行的時(shí)候,未建立任何實(shí)例,因此無法調(diào)用實(shí)例成員,包括非靜態(tài)的Main方法。為了能夠在程序的開始執(zhí)行Main方法,必須將其聲明為靜態(tài)。
順便說明,在Main方法中調(diào)用的成員也必須是靜態(tài)的,除非建立過相應(yīng)的實(shí)例。
例如:
namespace lover_P.Test {
public class Test {
public void InstanceMethod() {} // 實(shí)例成員(非靜態(tài))
public static void StaticMethod {} // 類型成員(靜態(tài))
public static void Main() {
InstanceMethod(); // 錯(cuò)誤!調(diào)用了實(shí)例成員,而此時(shí)并沒有建立實(shí)例
StaticMethod(); // 正確!可以調(diào)用靜態(tài)成員
Test SomeTest = new Test(); // 建立本類型的一個(gè)實(shí)例
SomeTest.InstanceMethod(); // 再在這個(gè)實(shí)例上調(diào)用實(shí)例成員就對(duì)了
SomeTest.StaticMethod(); // 附加一句,在實(shí)例上調(diào)用靜態(tài)成員也是錯(cuò)誤的!
}
}
}
順便說明,在Main方法中調(diào)用的成員也必須是靜態(tài)的,除非建立過相應(yīng)的實(shí)例。
例如:
namespace lover_P.Test {
public class Test {
public void InstanceMethod() {} // 實(shí)例成員(非靜態(tài))
public static void StaticMethod {} // 類型成員(靜態(tài))
public static void Main() {
InstanceMethod(); // 錯(cuò)誤!調(diào)用了實(shí)例成員,而此時(shí)并沒有建立實(shí)例
StaticMethod(); // 正確!可以調(diào)用靜態(tài)成員
Test SomeTest = new Test(); // 建立本類型的一個(gè)實(shí)例
SomeTest.InstanceMethod(); // 再在這個(gè)實(shí)例上調(diào)用實(shí)例成員就對(duì)了
SomeTest.StaticMethod(); // 附加一句,在實(shí)例上調(diào)用靜態(tài)成員也是錯(cuò)誤的!
}
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/promise-7/archive/2011/12/12/2285371.html
總結(jié)
以上是生活随笔為你收集整理的c#初学12-12-为什么mian函数必须是static的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】用java压缩文件夹/文件
- 下一篇: 关于c#中全局类变量的建立