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

C#基礎程序員

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

二、var,編譯器類型推斷spa

三、不能用從變量中提取出來的值來初始化常量,若是須要這麼作,應使用只讀字段;.net

四、常量老是隱式靜態的,const關鍵字:code

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

    2)便於程序(業務)邏輯變動,好比稅率SalesTax=6%;內存

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

五、C#數據存儲:值類型存儲在堆棧(Stack)中,而引用類型存儲在託管堆(Managed Heap)中。CLR會作內存管理,調用垃圾回收期實現內存回收。
六、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字符

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

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

九、字符串:經過@字符消除轉義字符「\」,$字符串插值功能

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

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

       2)比較好的習慣:都要加花括號,不管幾行邏輯語句。(若是沒有else。。。)

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

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

const string england="uk";

const string britain="uk";

switch(country)

{

case england:

case britain://編譯會報錯

language="English";

break;

}

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

但這樣是能夠的:

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

1三、return

1四、枚舉:是用戶定義的整數類型,枚舉實例是一組易於記憶的整數值。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);

 1五、名稱空間 namespace,能夠嵌套,using,別名 using alias=NamespaceName;

1六、使用註釋:源文件的內部註釋:單行// ,多行/*...*/

1七、XML文檔 根據特定註釋自動建立XML格式的文檔說明

1八、C#預處理器指令

相關文章
相關標籤/搜索