c 資料型別

2021-04-07 06:36:06 字數 3156 閱讀 6809

型別可分為:值型別,引用型別

值型別:直接存放真正的資料,值型別都有固定的長度,值型別的變數都儲存在

堆疊(stack)上。作為值型別的變數,每個都有自己的資料,因此對乙個變數的操作不會影響其他變數。

引用型別:儲存讀資料的記憶體位址的引用,位於受管制的堆(heap)上作為引用型別的變數可以引

用同一物件;因此對乙個變數的操作會影響另乙個變數所引用的同一物件。

值型別可分為3大類:

基本型:

整型 int

如:int i=123; //也可以寫為:system.int32 i=123;

long

如: long mylong=123;  //int型隱式轉換為long型

char

如:char mychar='a'

sbyte  byte   short   ushort uint ulong

注意:(1) 書寫乙個常數時(如:23),預設為整型,若要表示非整型,可以用顯式轉換:

如:sbyte k=1;

int i=2;

k=(sbyte)i;  //顯式轉換

i=k;         //隱式轉換

(2) 不同整型轉換原則:小範圍型別可以隱式轉換為大範圍型別,大範圍型別轉換

為小範圍型別時要使用顯式轉換。

浮點型          float型別:32位浮點數,取值範圍在

double型別:64位浮點數,取值範圍在

布林型 bool

true  false

結構型struct 

如 public struct point

結構和類的區別:

結構是乙個值型別(在棧上),而類是乙個引用

型別(在堆上)。       

列舉型

enum型別

常用形式有:

enum days ;

//第乙個成員值預設為0,第二個為1,……

enum days ;

//第乙個成員值從1開始

enum days ;

enum型別的使用示例:

class test

;static void main()

}引用型別

引用型別包括:類、介面、陣列、委託 等。

string型別

string mystring = "some text";

char chfirst = mystring[2];  //結果為m

當比較兩個字串是否相等時,可以直接使用「==」比較操作符。

當比較兩個字串大小時,可以使用string. compare方法,其返

回值有-1,0,1三種可能。

常用格式舉例:

(1)  int i=12345;

this.textbox1.text=i.tostring();

(6) datetime dt =new datetime(2003,5,25);

this.textbox1.text=dt.tostring("yy.m.d");

//結果 03.5.25

this.textbox2.text=dt.tostring(「yyyy年m月」);

//結果 2023年5月

(7)   int i=123;

double j=123.45;

string s=string.format("i:,j:",i,j);

//-7表示左對齊,佔7位

this.textbox1.text=s ; 

//結果i:123    ,j: 123.45

//結果 12345(this指當前物件,或叫當前類的例項)

this.textbox2.text=i.tostring("d8");

//結果 00012345

(2) int i=123;

double j=123.45;

string s1=string.format("the value is ",i);

string s2=string.format("the value is ",j);

this.textbox1.text=s1 ;

//結果 the value is     123

this.textbox2.text=s2;

//結果 the value is 123.450

(3) double i=12345.6789

this.textbox1.text=i.tostring("f2");//結果 12345.68

(4)double i=12345.6789;

this.textbox1.text=i.tostring("n");   //結果 12,345.68

this.textbox2.text=i.tostring(「n4」);  //結果 12,345.6789

(5)double i=0.126;

string s=string.format("the value is ",i);

this.textbox1.text=i.tostring("p");   //結果 12.6%

this.textbox2.text=s;   //結果 the value is 12.6%

陣列特點:所有的元素型別都相同。

//一維陣列

string  arr=;

string   mystrings=new string[3];

int intarr1=new int[4];

int intarr2=;

int nvar=5;

//二維陣列

int[,] arr = , , };

int[,] myarr = new int[5,3];

//鋸齒型陣列

string stra=new string[3];

stra[0]=new string[2];

stra[1]=new string[3];

stra[2]=new string[5];

型別之間的轉換

位數少的轉換為位數多的,可以使用隱式轉換;

位數多的轉換為位數少的,要使用顯式轉換。

裝箱和拆箱

int i=123;  //數值型別

object box=i;  //裝箱操作

int j=(int)box;  //拆箱操作

C 資料型別

一般來說,計算機要儲存和處理不同的資料型別,在c 中有基本的資料型別和使用者自定義資料型別以及引用型資料。我們先學習下基本的資料型別,也就是系統自帶的資料型別。每種資料型別都要佔據系統記憶體的一定空間,例如c 中的整數int 乙個整數佔4個位元組,也就是32位 計算機是用0和1二進位制來表示和處理資...

C 資料型別

bool system.boolean 1位元組 byte system.byte 1位元組無符號 sbyte system.sbyte 1位元組有符號 short system.int16 2位元組 ushort system.uint16 2位元組 int system.int32 4位元組 u...

C 資料型別

c 的資料型別可以分為3類 數值型別,引用型別,指標型別。指標型別僅在不安全 中使用。值型別包括簡單型別 如字元型,浮點型和整數型等 集合型別和結構型。引用型別包括類型別,介面型別,代表型別和陣列型別。值型別和引用型別的不同之處是值型別的變數值直接包含資料,而引用型別的變數把它們的引用儲存在物件中。...