您好,登錄后才能下訂單哦!
從語法上看,C#吸收了VB,C++,Java等語言的優點,改進了不足,加入了大量實用特性。C#確實是優秀的語言,海神也讓人敬仰(這大爺一把年紀還是以寫代碼為樂趣)。
本篇沒有高級語法部分,只有基礎語法和OOP。
基礎語法:
兩種布爾邏輯運算符。侃:有意思
字符串格式化打印。侃:好,這才是給人用的API
數組:聲明 C# 數組和聲明 C++ 數組的語法不同。在 C# 中,“[]”標記出現在數組類型的后面。侃:C#的數組不錯,更直觀,里面也有更多的語法糖。
bool 類型:bool 類型和其他類型(特別是 int)之間沒有轉換。侃:好
struct 類型:在 C# 中,類和結構在語義上不同。struct 是值類型,而 class 是引用類型。侃:很好,值類型和引用類型都很有用,要不然C++也不會折騰什么POD。
switch 語句:與 C++ 中的 switch 語句不同,C# 不支持從一個 case 標簽貫穿到另一個 case 標簽。侃:很好,switch貫穿寫法絕大部分都是漏寫了break
delegate 類型:委托與 C++ 中的函數指針基本相似,但前者具有類型安全,是安全的。侃:極好,C#最大賣點之一,委托非常優雅的定義了回調,相比而言C++里各種函數指針類型定義簡直要吐
預處理器指令用于條件編譯。C# 中不使用頭文件。侃:很好,另外鄙視C++拿頭文件當文檔的
異常處理:使用 finally 語句。侃:好
非轉義字符串。侃:極好,這才是給人讀的字符串
C# 運算符:C# 支持其他運算符,如 is 和 typeof。它還引入了某些邏輯運算符的不同功能。侃:好
Main 方法和 C++ 中的 main 函數的聲明方式不同。另外,比較每種語言的命令行參數的使用。侃:好,終于不用為老譚吵架了
方法參數:C# 支持 ref 和 out 參數,這兩個參數取代指針通過引用傳遞參數。侃:極好,顯式調用,這比C++高的不知道哪里去了
在 C# 中只在不安全模式下才使用指針。侃:好,當年Java因為沒指針推銷被一通噴,只好假裝有指針。這有利于推銷。
C# 中的局部變量在初始化前不能使用。侃:好
///文檔注釋。侃:好
函數支持參數數組。侃:好
OOP:
C# 中沒有全局方法和全局變量:方法和變量必須包含在類型聲明(如 class 或 struct)中。侃:習慣就好,全局方法有時候是很丑陋的,比如一個getxxx,你到底是從哪get的。
繼承:類只能繼承一個基類中的實現。另外,類或接口可以實現多個接口。侃:單根繼承很好。
類成員有字段和屬性之分。侃:好,懶人和勤快人都能用
屬性訪問語法和自動屬性。侃:好,比手寫getter,setter好多了
使用 new 修飾符顯式隱藏繼承成員。侃:很好
部分類定義。侃:好,誰再規定Java一個類不能超過多少行,可以懟了。
只讀字段。侃:好
靜態構造函數。侃:好,終于不用分開寫了。
參考:
https://msdn.microsoft.com/zh-cn/library/aa287549(v=vs.71).aspx
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。