值型別
資料型別,字符型別,布爾型別,日期型別
結構型別(struct),列舉型別(enum)
參考型別
字串(string),陣列,類,委托型別
說明:
(1)值型別資料-通常在堆疊(stack)中分配,變數中存放的是實際資料值,
(2)參考型別的實際資料被分配在堆(managed heap)中,而參考變數被分配在堆疊中;參考型別變數存放的是堆中實體資料的存盤地址(即參考),
C#資料型別


列舉型別是具有命名常量的獨特的型別,
列舉的宣告如下:
訪問修飾符enum列舉名[:基礎型別]
{
列舉成員
}
其中:基礎型別為8種整數型別之一,默認為int,每個列舉成員為一個命名常數,具有一個整數值,第一個列舉成員默認值為零,以后的成員值是將前一個列舉成員的值加1 得到,
列舉例子:
public enum TimeofDay
{
Morning=1 ,
Afternoon ,
Evening //結束沒有逗號,
}
Morning的值為1,使用-TimeofDay. Morning
Afternoon的值為2,使用-TimeofDay. Afternoon
Evening的值為3,使用-TimeofDay. Evening
C#的資料型別-結構
C#中的結構型別與類相似,可以定義包含資料成員和方法成員的結構,但與類不同的是,結構是一種值型別,并不需要堆的分配,
?
在結構的宣告中,不能對實體欄位變數初始化,(const,static欄位除外),
?
結構中可以宣告帶引數的建構式(為結構中資料成員初始化),通過new創建結構的實體,
01:struct A
02:{
03: public int x; //不能直接對其進行賦值
04: public int y;
05: public static string str = null; //靜態變數可以初始化
06: public A(int x,inty) //帶引數的建構式
07: {
08: this.x= x;
09: this.y= y;
10: Console.WriteLine("x={0},y={1},str={2}", x, y,str);
11: }
12:}
當方法中的引數名與類中欄位名同名時如:
03與06行,這時方法中this.x將參考實體中的欄位名,
常量
符號常量-使用const修飾符進行宣告,
符號常量必須在宣告時初始化,
例如:
public constintmonths=12;
宣告多個相同型別的常量,例如:
constintmonths = 12, weeks = 52, days = 365;
字面常量:
?
int型常數(不帶小數)如:25
?
double型常數如:3.14 , 314e-2
隱式型別-var
C# 的區域變數可以使用隱式型別var宣告,格式為:
var 變數名=初值運算式;
變數的實際型別由初值運算式推斷,
如:vari = 10; // 隱式宣告變數,i可推斷為int
var s=“abcd”; //隱式宣告變數,s推斷為string
注意:
var宣告的變數必須是區域變數,
必須在宣告時初始化
例:輸出A陣列各元素值
for( var i=0;i<6;i++)
Console.Write(A[i] + " ");
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/247011.html
標籤:.NET技术
上一篇:c#委托和事件
