C,C 程式設計師使用C 應注意的一些小問題 2

2021-04-06 20:56:18 字數 2773 閱讀 9186

11.c#

中用get

,set

表示設定器函式,用於獲取或設定類中各許可權資料

c#中內建

value

關鍵值用於表示

set函式中使用者傳遞值12.

c#中

object

類是所有其他型別的基類,所有型別都直接或間接地從

object

類中繼承

對乙個object

的變數可以賦予任何型別的值

object

是system.object

的別名13.c#

中有四種引用型別:

類,代表,陣列,介面 14

.c#

中delegate

(代表),實際上是

c#中函式指標的原型,但是此用法是安全的

c#中一般使用引用,與

c++中引用類似。15.

c#中陣列宣告時,方括號放在型別之後表示陣列,而不是放在變數名之後。

如int array = new int[5]

宣告乙個有5個

int型別元素的陣列

c#中各種陣列的宣告有多種形式

二維陣列

int[ , ] array

方括號中間用

「 , 「

隔開(每維元素個數一致)

三維陣列

int[ , , ]

用多個逗號分隔表示多維陣列

可變陣列

int用多個中括號表示可變陣列,每一維的元素個數可變

int ….. 16

.關於陣列的初始化(與

c,c++

不同的方法)

int a = new int

int a[ , ] = new int[ , ] ,}

int a[ , ] = new int[10, 20]

int a[ , , ] = new int[10, 20 ,30]

int a = new int[3]

可變陣列最高維必須指定

關於可變陣列

int a = new int [3]

int a[0] = new int

int a[1] = new int

int a[2] = new int

函式中傳遞陣列示

void function(int a);//

形式使用時

int array = new int[5];function(array);

或者function(new int ); 17

.c#中is

關鍵字如

int i = 5;object obj = (object)i;

此時object is int

返回true 注意

任何型別都可以賦值給

object型別

因為object

型別是所有型別的基類,當賦值發生時,就會有個裝箱的過程,

object

物件中儲存了裝箱的物件型別和裝箱物件的值。

當把乙個

object

型別的物件賦予乙個其他型別的變數,對應乙個拆箱過程,此時需要注意型別相容18.

c#中允許用「@」

+關鍵值來命名變數,其中

@不是變數的一部分,而是給編譯器指出此變數名不是關鍵字。19.

c#中有

7種變數型別

靜態變數

(static variables)

,非靜態變數

(instance variables)

,陣列元素

(array variables)

,值引數

(value variables)

,引用引數

(reference parameters)

,輸出引數

(output parameters)

,區域性變數

(local variables)

其中引用引數用

ref關鍵字宣告,輸出引數用

out

關鍵字宣告

20.隱式轉換

a.隱式數值轉換

向上轉型

up-casting0

可以隱式轉換為任意整形

b.隱式列舉轉換

c.隱式引用轉換

1.任何引用型別到物件型別的轉換

2.從類型別

s到類型別

t的轉換,其中s是

t的派生類(如

int賦值給

object)3

.從類型別

s到介面型別

t的轉換,其中t是

s的父介面

4.從元素型別為

ts的陣列型別

s向元素型別為

tt的陣列型別

t的轉換

轉換滿足條件:

a. s和t

只有元素的資料型別不同,但他們的維數相同

b. ts和tt

都是引用型別(注意:陣列元素的型別必須是引用型別)

c. 存在從ts到

tt的隱式引用轉換

d. 從任何陣列型別到

system

.array

的轉換e.

從任何代表型別到

system

.delegate

的轉換f.

從任何陣列型別或代表型別到

system.icloneable(

不清楚,待查

)的轉換

e. 從空型別(

null

)到任何引用型別的轉換

[待續] 

C,C 程式設計師使用C 應注意的一些小問題 4

31 c 中使用internal 修飾符修飾的類成員對於同一包中的應用程式或庫是透明的,而在包 net 之外是禁止訪問的。32 c 中 this 關鍵字在類中是引用型別,是類物件自身的引用,而在 c 中是指標,指向當前類物件。32 c 中使用名字空間時 using 後沒有namespace 關鍵字,...

C 中C C 程式設計師注意問題

1 c c 程式設計師請注意,不能在 case 語句不為空時 向下執行 2 值型別和引用型別之間的區別 c 的基本型別 int,char 等 都是值型別,是在棧中建立的。而物件是引用型別,建立於堆中,需要使用關鍵字 new。3 在c 中通過例項訪問靜態方法或成員變數是不合法的,會生成編譯器錯誤。但是...

C 中C C 程式設計師注意問題

1 c c 程式設計師請注意,不能在case語句不為空時 向下執行 2 值型別和引用型別之間的區別 c 的基本型別 int,char等 都是值型別,是在棧中建立的。而物件是引用型別,建立於堆中,需要使用關鍵字new。3 在c 中通過例項訪問靜態方法或成員變數是不合法的,會生成編譯器錯誤。但是我們可以...