C#基礎—C#高級編程(第10版)學習筆記6


C#基礎

1、棧存地址和值類型,堆存對象數據。

2、var,編譯器類型推斷

3、不能用從變量中提取出來的值來初始化常量,如果需要這么做,應使用只讀字段;

4、常量總是隱式靜態的,const關鍵字:

     1)使用易讀取名稱,便於閱讀;

    2)便於程序(業務)邏輯變更,比如稅率SalesTax=6%;

    3)避免程序犯錯,如別處賦值則編譯器報錯。

5、C#數據存儲:值類型存儲在堆棧(Stack)中,而引用類型存儲在托管堆(Managed Heap)中。CLR會做內存管理,調用垃圾回收期實現內存回收。
6、C#有15個預定義類型,其中兩個引用類型(string 和 object),13個是值類型。

       1)C#中的int 聲明的實際上是.Net 結構System.Int32的一個實例,看起來很深奧,但其意義深遠:這表示在語法上,可以把所有的基本數據類型看成支持某些方法的類。例如:int i=10;string s=i.ToString();

      2)C#的decimal類型不是基本類型,計算時使用該類型會有性能損失。28位(128位的高精度十進制數表示法)decimal d=12.30M;或者decimal d=12.30m.

     3)C# bool=true 或false:如果試圖用0表示false,非0表示true,就會報錯。

    4)Byte(無符號)、sbyte(有符號),標准8位類型,

    5)字符類型:char 表示一個16位的Unicode字符

7、Object類: 是C#和.net的根類型:例如堆棧中的值類型對象通過object裝箱到堆中.實現了一些基本方法,可以重寫,如Equals()、GetHashCode(),GetType()和ToString().

8、C# string實際上是.Net 類System.String,是個引用類型。但又會體現值類型的字符串一般和直觀的字符串規則特點,是通過運算符重載實現的。如:string s1="a string"; string s2=s1;s1="Another string";結果:s1="Another string"  s2="a string"

9、字符串:通過@字符消除轉義字符“\”,$字符串插值功能

10、使用if語句的一個重要指導原則就是:

       1)只有語句和if語句寫在同一行時,才允許程序員不適用花括號。遵循之,程序員在添加第二個語句時不太可能不添加花括號。

       2)比較好的習慣:都要加花括號,無論幾行邏輯語句。(如果沒有else。。。)

      3)值比較== 常值置於前 if(0==j)

11、Switch語句:可以包含一條default語句。任何兩條case都不能相同,否則編譯器報錯:break可用

const string england="uk";

const string britain="uk";

switch(country)

{

case england:

case britain://編譯會報錯

language="English";

break;

}

12、循環for, while ,do...while,foreach(不能改變集合中各項的值,否則不能編譯,如改變應使用for循環),break、Continue 可用

但這樣是可以的:

 foreach (var item in resultList)
                    {
                        Apple a = item as Apple;
                        if (a != null)
                        { a.Color = "Red"; }
                    }

13、return

14、枚舉:是用戶定義的整數類型,枚舉實例是一組易於記憶的整數值。C#中,枚舉的真正強大之處是它們在后台實例化為派生自基類System.Enum的結構。一旦代碼編譯好,枚舉就成為基本類型,與int類似。

1)可以檢索枚舉的字符串表示:

public enum TimeOfDay

{

Morning = 0,

Afternoon =1,

Evening =2

}

TimeOfDay time=TimeOfDay.Evening ;TimeOfDay time2=(TimeOfDay)Enum.Parse(typeof(),TimeOfDay,"afternoon ",true);

 15、名稱空間 namespace,可以嵌套,using,別名 using alias=NamespaceName;

16、使用注釋:源文件的內部注釋:單行// ,多行/*...*/

17、XML文檔 根據特定注釋自動創建XML格式的文檔說明

18、C#預處理器指令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM