第一章:認識.NET Framework
介紹.NET Framework版本、教你有關BCL(Base Class Library)、CLR(Common Language Runtime)的基本知識、執行環境、版本功能的差異,其實BCL就是指.NET Framework已經幫我們準備好的程式,例如Windows Form`訊息對話框,只要直接使用MessageBox類別、連結資料庫存取使用System.Data下面的類別。
第二章:Visual Studio 2008開發工具
這部分是台灣書籍講的特別清楚的環節,比較特別的是講到工具列的運用時,以前除了知道加入自訂或其他元件的功能,原來還能拉一段文字拖拽在上面,當成暫存的剪貼簿重覆使用。
第三章:變數與資料型別
宣告變數語法
我們都知道每個語言有保留的關鍵字作為特殊用除,那我們可以用C#關鍵字來宣告變數名稱嗎?答案是可以,使用方法是前面必須要加上「@」,例如至於要用在什麼地方?還沒能想到也,不過「@」和「_」有什麼差別呢!他們的差別如下:
string @string;
string _string;
這時候你的自動完成功能裡面會有個變數是string和一個_string,另外我們知道變數不能以數值開頭作為宣告,還有一個差別就在這裡,如下:
string @1abc;
string _1abc;
唯讀變數與常數
唯讀跟常數,對剛入門的設計師可能較不會注意到的地方
- 唯讀變數的值可以在執行時期再決定《可以經由方法於執行期間指定,如int a=GetNumber()》
- 常數的值必須在編譯時期就要決定《必須宣告就要指定值,如int a=5》
C#基本型別觀念
實值型別跟參考型別也是經常被混淆的地方,
C#內建型別與共通型別(Common Type System,CTS)
舉個例子:
C#的int 就是CTS的System.Int32,同時也是VB的Integer,所以各種語言的型別都有各自對應CTS的型別,他們是通用的。
列舉型別資料
Enum abc
{
a=0,
b=1,
c=2,
}
string[] names=Enum.GetNames(typeof(abc));
Array values=Enum.GetValues(typeof(abc));
第一個沒問題,我們可以取得a,b,c,那麼第二個取得的是?,這裡舉二個例子
foreach(var item in values) {} 得到的是a,b,c
foreach(int item in values) {} 得到的是0,1,2
要注的意地方是,這裡的Values值不是指a,b,c的值,而是Enum abc的值,所以取得未轉型時得到的是a,b,c,而以int轉型時得到的才是0,1,2。
老師補充的存取範圍卻沒講的地方
這是一般常見的宣告方式public、private、protected、internal ,其實還有一種經常被疏忽掉的protected internal。
MSDN的說明如下
protected internal 存取範圍表示 protected OR (或) internal,而非 protected AND (和) internal。換句話說,protected internal 成員可從在相同組件中的任何類別進行存取,其中也包括衍生類別。若要將存取範圍限制為僅在相同組件中的衍生類別,請將類別本身宣告為 internal,並且將其成員宣告為 protected。
沒有留言:
張貼留言