C#基礎技能培訓-C#圖解教程(第四版)

第二章

1.標識符

標識符是一種字符串颠锉,且區(qū)分大小寫

特點:

1.字母和下劃線可以用在任何位置(a-z、A-Z奢浑、_)〖溲В【下劃線可以開頭】

2.數(shù)字不可以放在首位殷费,可以放在其他任何位置。

3.@只允許放在標識符的首位低葫,雖然允許使用但是不推薦常用详羡。

延伸:[@在C#中的用法:

1.忽略轉義字符

例如

string fileName = "D:\\文本文件\\text.txt";

使用@后

string fileName = @"D:\文本文件\text.txt";

2.讓字符串跨行

例如

string strSQL = "SELECT * FROM HumanResources.Employee AS e"

   + " INNER JOIN Person.Contact AS c"

   + " ON e.ContactID = c.ContactID"

   + " ORDER BY c.LastName";

使用@后

string strSQL = @"SELECT * FROM HumanResources.Employee AS e
    INNER JOIN Person.Contact AS c
    ON e.ContactID = c.ContactID
    ORDER BY c.LastName";

3.在標識符中的用法

C#是不允許關鍵字作為標識符(類名、變量名嘿悬、方法名实柠、表空間名等)使用的,但如果加上@之后就可以了

例如

public static void @static(int @int)
 {
            if (@int > 0)
            {
                System.Console.WriteLine("Positive Integer");
            }
            else if (@int == 0)
            {
                System.Console.WriteLine("Zero");
            }
            else
            {
                System.Console.WriteLine("Negative Integer");
            }
}

2.關鍵字

關鍵字是對編譯器具有特殊意義的預定義保留標識符善涨。它們不能在程序中用作標識符窒盐,除非它們有一個 @ 前綴。例如钢拧,@if 是有效的標識符蟹漓,但 if 不是,因為 if 是關鍵字源内。

image

具體用法與釋義

https://www.cnblogs.com/LS520/p/7115435.html

https://msdn.microsoft.com/zh-cn/library/x53a06bb(VS.80).aspx

3.代碼的注釋

image

第三章:類型葡粒、存儲和變量

1.預定義類型

image
image

1.三種非簡單類型:

string:是一個Unicode字符數(shù)組

object:是所有其他類型的基類

dynamic:使用動態(tài)語言編寫的程序集時使用

2.簡單類型-11種數(shù)值類型

3.簡單類型-非數(shù)值類型:char bool

2.dynamic與var的區(qū)別

var 在編譯階段已經確定類型,在初始化時候膜钓,必須提供初始化的值嗽交,而dynamic則可以不提供,它是在運行時才確定類型

1.var聲明一個局部變量只是一種簡化語法颂斜,它要求編譯器根據一個表達式推斷具體的數(shù)據類型

2.var只能用于聲明方法內部的局部變量夫壁,而dynamic可用于局部變量,字段沃疮,參數(shù)

3.表達式不能轉型為var盒让,但能轉型為dynamic

4.必須顯式初始化用var聲明的變量梅肤,但無需初始化用dynamic聲明的變量

例:static void Main(string[] args)

    {

        //var 在編譯階段已經確定類型

        var number = 3;

        //dynamic在編譯期間不進行任何的類型檢查,而是將類型檢查放到了運行期

        dynamic dyn = 3;

        dyn = "hello world";

        //runtime eror

        //字符串沒有 "fn不存在的方法" 的方法,但在語法檢查時通過邑茄,不會提示語法錯誤

        var s = dyn.fn不存在的方法();

        Console.ReadKey();

    }

var實際上是編譯期拋給我們的“語法糖”凭语,一旦被編譯,編譯期會自動匹配var 變量的實際類型撩扒,并用實際類型來替換該變量的申明,這看上去就好像我們在編碼的時候是用實際類型進行申明的吨些。而dynamic被編譯后搓谆,實際是一個 object類型,只不過編譯器會對dynamic類型進行特殊處理豪墅,讓它在編譯期間不進行任何的類型檢查泉手,而是將類型檢查放到了運行期。

3.C#中int和System.Int32理解總結

int是System.Int32的別名偶器,但是存在爭議

4.什么是委托斩萌?

委托是尋址方法的.NET版本,使用委托可以將方法作為參數(shù)進行傳遞屏轰。委托是一種特殊類型的對象颊郎,其特殊之處在于委托中包含的只是一個或多個方法的地址,而不是數(shù)據霎苗。

委托雖然看起來像是一種類型姆吭,但其實定義一個委托,是定義了一個新的類唁盏。

下面這行代碼内狸,定義了一個委托,使用ILDasm.exe查看其生成的IL代碼如圖所示:

//定義委托厘擂,它定義了可以代表的方法的類型昆淡,但其本身卻是一個類publicdelegateintmethodDelegate(stringstr);

image

由圖中紅色框線中可以看出,.NET將委托定義為一個密封類刽严,派生自基類System.MulticastDelegate昂灵,并繼承了基類的三個方法。

2.委托與函數(shù)指針的區(qū)別港庄?

1倔既、安全性:C/C++的函數(shù)指針只是提取了函數(shù)的地址,并作為一個參數(shù)傳遞它鹏氧,沒有類型安全性渤涌,可以把任何函數(shù)傳遞給需要函數(shù)指針的地方;而.NET中的委托是類型安全的把还。

2实蓬、與實例的關聯(lián)性:在面向對象編程中茸俭,幾乎沒有方法是孤立存在的,而是在調用方法前通常需要與類實例相關聯(lián)安皱。委托可以獲取到類實例中的信息调鬓,從而實現(xiàn)與實例的關聯(lián)。

3酌伊、本質上函數(shù)指針是一個指針變量腾窝,分配在棧中;委托類型聲明的是一個類居砖,實例化為一個對象虹脯,分配在堆中。

4奏候、委托可以指向不同類中具有相同類型返回參數(shù)和簽名的函數(shù)循集,函數(shù)指針則不可以。

5.** C#中的委托是什么蔗草?事件是不是一種委托咒彤?**

答:委托本質上是一種“方法接口”,它相當于C/C++中的函數(shù)指針咒精,當然它比函數(shù)指針安全镶柱,在C#中通常用于事件處理。

 事件不是委托狠轻,不過由于事件的性質決定了處理它的程序邏輯能訪問的參數(shù)奸例,因此,在C#中處理事件的邏輯都包裝為委托向楼。

6.值類型與引用類型&堆和棧

https://www.cnblogs.com/zd1994/p/4424329.html

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末查吊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子湖蜕,更是在濱河造成了極大的恐慌逻卖,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昭抒,死亡現(xiàn)場離奇詭異评也,居然都是意外死亡,警方通過查閱死者的電腦和手機灭返,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門盗迟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人熙含,你說我怎么就攤上這事罚缕。” “怎么了怎静?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵邮弹,是天一觀的道長黔衡。 經常有香客問我,道長腌乡,這世上最難降的妖魔是什么盟劫? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮与纽,結果婚禮上侣签,老公的妹妹穿的比我還像新娘。我一直安慰自己急迂,他們只是感情好硝岗,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著袋毙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冗尤。 梳的紋絲不亂的頭發(fā)上听盖,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音裂七,去河邊找鬼皆看。 笑死,一個胖子當著我的面吹牛背零,可吹牛的內容都是我干的腰吟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼徙瓶,長吁一口氣:“原來是場噩夢啊……” “哼毛雇!你這毒婦竟也來了?” 一聲冷哼從身側響起侦镇,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤灵疮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后壳繁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體震捣,經...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年闹炉,在試婚紗的時候發(fā)現(xiàn)自己被綠了蒿赢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡渣触,死狀恐怖羡棵,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情昵观,我是刑警寧澤晾腔,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布舌稀,位于F島的核電站,受9級特大地震影響灼擂,放射性物質發(fā)生泄漏壁查。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一剔应、第九天 我趴在偏房一處隱蔽的房頂上張望睡腿。 院中可真熱鬧,春花似錦峻贮、人聲如沸席怪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挂捻。三九已至,卻和暖如春船万,著一層夾襖步出監(jiān)牢的瞬間刻撒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工耿导, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留声怔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓舱呻,卻偏偏與公主長得像醋火,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子箱吕,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容