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 中通過例項訪問靜態方法或成員變數是不合法的,會生成編譯器錯誤。但是我們可以...