C#靜態變量與實例變量實例剖析。本站提示廣大學習愛好者:(C#靜態變量與實例變量實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#靜態變量與實例變量實例剖析正文
本文實例講述了C#靜態變量與實例變量的詳細用法,分享給年夜家供年夜家參考。詳細剖析以下:
1)在語法界說上的差別:
類變量也叫靜態變量,靜態變量前要加static症結字,而實例變量前則不加;
實例變量也叫對象變量,即沒加static 的變量;
2)在法式運轉時的差別:
實例變量屬於某個對象的屬性,必需創立了實例對象,個中的實例變量才會被分派空間,能力應用這個實例變量。靜態變量不屬於某個實例對象,而是屬於類,所以也稱為類變量,只需法式加載了類的字節碼,不消創立任何實例對象,靜態變量就會被分派空間,靜態變量便可以被應用了。總之,實例變量必需創立對象後才可以經由過程這個對象來應用。靜態變量則可以直接應用類名來援用;
3)在運轉表示成果的差別:
類變量和實例變量的差別在於:類變量是一切對象共有,個中一個對象將它值轉變,其他對象獲得的就是轉變後的成果;而實例變量則屬對象公有,某一個對象將其值轉變,不影響其他對象;
再來看看上面這段法式:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { StaticTest A, B;//界說類的變量 A = new StaticTest();//創立類的實例A B = new StaticTest();//創立類的實例B StaticTest.stal = StaticTest.stal + 10;//經由過程類名給靜態變量賦值 A.a2 = A.a2 + 10;//給實例A的成員A2賦值 StaticTest.stal = StaticTest.stal + 10;//經由過程類名給靜態變量賦值 B.a2 = B.a2 + 20;//給實例B的成員賦值 Console.WriteLine("StaticTest.stal+{0},A.a2={1}", StaticTest.stal, A.a2);//輸入靜態變量和實例A的成員a2的值 Console.WriteLine("StaticTest.stal+{0},B.a2={1}", StaticTest.stal, B.a2);//輸入靜態變量和實例B的成員a2的值 Console.ReadKey(); } } class StaticTest { public static int stal = 10;//界說靜態變量 public int a2 = 10;//界說實例變量 } }
運轉成果以下圖所示:
願望本文所述對年夜家C#法式設計的進修有所贊助。