国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#,一些非常簡單但應該知道的知識點

2019-11-17 03:15:56
字體:
來源:轉載
供稿:網友

C#,一些非常簡單但應該知道的知識點

1.本地變量

一看這個標題你可能會一愣,這是個什么東東。看個小例子:

static void main(){ int a=10; MyClass mc=new MyClass();}

呵呵,這里的a與mc就是本地變量,它和字段一樣,也保存數據。字段通常保存和對象狀態有關的數據,而創建本地變量經常用于保存本地或臨時數據。呵呵,簡單吧,但是它和實例字段有何區別:

實例字段

本地變量

生存期從實例創建開始,直到實例不再被訪問從它在塊中被聲明開始,到塊執行結束
隱式初始化初始化成該類的默認值沒有隱式初始化。如果變量在使用之前沒有被賦值,編譯器將報錯
存儲區域由于實例字段是類的成員,所有的字段都存儲在堆里,無論它是指類型還是引用類型值類型:存儲在棧里引用類型:引用存儲在棧里,數據存放在堆里

2.var 關鍵字

我們知道var可以自動推斷變量的類型,如上代碼,我們可以發現在聲明開始部分提供類型名時,編譯器能從初始化語句的右邊推斷出來它的類型,所以,在聲明的開始部分包括顯示的類型名多余的。

為了避免這種多余,可以在聲明的開始部分的顯示類型名的位置使用新的關鍵字var。上面代碼可以改成:

static void main(){ var a=10; var mc=new MyClass();}

3.值參數

使用值參數,通過將實參的值復制到形參的方式把數據傳遞給方法。方法被調用時,系統做如下操作:

    • 在棧中為形參分配空間
    • 將實參的值復制給形參

4.引用參數(ref)

    • 不會為形參在棧上分配內存
    • 實際情況是,形參的參數名將作為實參變量的別名,指向相同的內存位置
    • 實參必須是變量,在用作實參前必須被賦值。如果是引用類型變量,可以賦值一個引用或者null

5.輸出參數(out)

    • 在方法內部,輸出參數在能夠使用之前必須被賦值。這就意味著參數的初始值是不起作用的,所以沒有必要在方法調用前為參數賦值。
    • 在方法返回之前,方法內部任何路徑都必須為所有輸出參數進行一次賦值。如下代碼:

public void Add(out int outValue){ int var1=outValue+2;}上述代碼輸出參數在方法賦值之前被讀取將會報錯。

6.屬性(set,get)

    • 屬性是一個函數成員
    • 它不為數據的存儲分配內存
    • 它可以執行代碼
    • set訪問器擁有一個單獨的隱式的值參,名稱為Value,與屬性的類型相同且擁有一個返回類型void
    • get訪問器沒有參數,擁有一個與屬性類型相同的返回類型。

7.對象初始化語句

我們都知道創建一個對象是由new 后面跟著一個類構造函數及其參數列表組成。

對象初始化語句擴展了創建語法,在表達式的尾部放置了一組成員初始化的語句。允許我們創建新的對象實例時,設置字段和屬性的值。

該語法有兩種形式:一種形式是包括構造函數的參數列表,另一種是不包括。注意第一種形式可以省略圓括號。

new TypeName {FieldOrPRop=InitExpr,FieldOrProp=InitExpr,…}

new TypeName {FieldOrProp=InitExpr,FieldOrProp=InitExpr,…}

示例如下:

public static void main()

{

Point p1=new Point();

Point p2=new Point{X=4,Y=5,Z=6};

Point p3=new Point(9){X=7,Y=8};

}

public class Point

{

public int X=1;

public int Y=2;

public int Z=3;

public Point(int z){Z=z;}

}

8.this關鍵字

this關鍵字在類中使用,是對當前實例的引用。它只能用在下列類成員的代碼中

  • 實例構造函數
  • 實例方法
  • 屬性和索引器的實例訪問權由于靜態成員不是實例的一部分,所以不能在任何靜態函數成員的代碼中使用this關鍵字。更適當的說,this用于下列目的:
  • 用于區分類的成員和本地變量或參數
  • 做為調用方法的實參

呵呵,上面這些內容我想大部分童鞋都能一下看懂,這都是些很基礎的東西,有些可能都在不知不覺中用爛了,只是沒有注意過還有個這么個東東。所以我給總結了一些供大家參考,希望大家能有所收獲。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 师宗县| 中超| 炉霍县| 甘德县| 民乐县| 泰顺县| 绥棱县| 长沙县| 金寨县| 山阴县| 保康县| 泸定县| 阳山县| 台前县| 禹城市| 象山县| 南陵县| 芮城县| 江油市| 苗栗县| 南郑县| 灌阳县| 涞水县| 宁远县| 怀柔区| 胶南市| 旺苍县| 古丈县| 平阳县| 敦化市| 兴宁市| 株洲市| 彭泽县| 建湖县| 通河县| 蒙阴县| 江西省| 东兴市| 蒙阴县| 彭州市| 威远县|