標籤:協助 ram width height 技術 count class border ike
本文執行個體講述了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#程式設計的學習有所協助。
除聲明外,
跑步客文章均為原創,轉載請以連結形式標明本文地址
C#靜態變數與執行個體變數執行個體分析
本文地址: http://www.paobuke.com/develop/c-develop/pbk23479.html
相關內容VS2015 C#產生dll檔案的方法(32/64)詳解C#對XML、JSON等格式的解析C#操作本地檔案及儲存檔案到資料庫的基本方法總結C#基礎文法:方法參數詳解
C#繪製橢圓的方法C#解決漢諾塔問題DEMOC#中動態數組用法執行個體C#非同步委託調用執行個體分析
C#靜態變數與執行個體變數執行個體分析