Time of Update: 2018-12-08
#pragma指令可以在類或者方法上執行。對抑制警告的內容和抑制的時間進行更精細的控制。 小天:我覺得警告這個東西,特別是我們自己定義的警告,可能有時候僅僅是為了編程中給自己提醒。諸如此類的警告其實並不影響程式,是否有什麼辦法可以抑制或者恢複製定的編譯警告呢? 老田:有的,#pragma指令的作用就是這個。與命令列選項不同,#pragma指令可以在類或者方法上執行。對抑制警告的內容和抑制的時間進行更精細的控制。下面的例子就是禁止欄位使用警告,然後在編譯完當前類之後恢複該警告。 #p
Time of Update: 2018-12-08
小天:我昏了,我已經昏了,上面出現好多的"後面討論"。這個怎麼學啊。還有資料類型,我感覺也很迷糊。 老田:對於前面的知識點,特別是那些例題,並不要求你現在就搞清楚。只要你能夠明白例題中所闡述的效果,然後記住這些概念。下面我們就來學習C#中的預定義資料類型。 與其它語言相比,C#對其可用的類型及其定義有更嚴格的描述。 在開始介紹C#中的資料類型之前,理解C#把資料類型分為兩種是非常重要的: ●實值型別 ●參考型別 下面幾節將詳細介紹實值型別和參考型別的文法。從概念上看,其
Time of Update: 2018-12-08
從工具箱中拖四個Label控制項到介面上,並分別修改Text屬性為"姓名:、年齡:、結果:和訊息",注意最後一個Label(就是Text屬性為"訊息"這個Label控制項的NAME屬性); 小天:這麼多資料類型,它們之間一定會有混合使用的時候。比如我們讓使用者輸入使用者名稱和年齡,然後顯示出結果。 老田:你說的這個最好使用WinForm來做。因為這隻是第二次做,我們把步驟說下: 1.建立一個名為"類型轉換和裝拆箱"的Windows傳統型應用程式項目; 2.從工具箱中拖
Time of Update: 2018-12-08
如果所提供的運算式非空,並且所提供的對象可以強制轉換為所提供的類型而不會導致引發異常,則 is 運算式的計算結果將是 true。 檢查對象是否與給定類型相容。例如,以下代碼可以確定對象是否與 string 類型相容: object obj="哇哈哈哈哈哈"; if (obj isstring) { ....... } 如果所提供的運算式非空,並且所提供的對象可以強制轉換為所提供的類型而不會導致引發異常,則 is 運算式的計算結果將是 true。
Time of Update: 2018-12-08
接著我們開始絕大部分程式設計語言都有切都是第一基礎的知識點,就是變數。變數是電腦編程中的一個重要概念。變數是一個可以儲存值的字母或名稱。 當你編程時,可使用變數來儲存數字,例如建築物的高度,或者儲存單詞,例如人的名字,在物件導向的編程(OOP)中,可以是一個對象。簡單地說,可使用變數表示程式所需的任何資訊。 你可能會問:"既然我可以使用資訊,為什麼要用變數?"
Time of Update: 2018-12-08
申明變數和初始化的過程比喻為修房子和入住。這個過程中共涉及到三個對象,變數名、存放變數的記憶體空間、值。而修房子和入住這個過程中與之對應的三個對象是,房子,地址 在C#中聲明變數使用下述文法: 資料類型變數標示符;//申明的文法 變數標示符 = 值;//為變數初始化 //第二種方式 資料類型變數標示符 = 值;//申明變數的同時初始設定變數 例如: string name;//申明一個名為name 的string 類型的變數 name="小天";
Time of Update: 2018-12-08
上面已經說到,隱式轉換就是不需要什麼文法申明,例如: byte bt = 1; short s = 35; int x = bt; //將byte類型直接交給int類型,這就是一次隱式轉換 int y = s; //同上 轉換有一個前提,那就是只要能保證值不會發生任何變化,類型轉換就可以成功進行。但是,在轉換之前編譯器會判斷一次,這個判斷是不管值是否能夠保證的。編譯器只看類型的大小。所以隱式轉換的前提是,位元小的類型向大的轉換,且能夠保證值不發生變化就可以自動轉換。
Time of Update: 2018-12-08
用於擷取 實值型別 的位元組大小。例如,可以如下所示檢索 int 類型的大小: int intSize = sizeof(int); Console.WriteLine(intSize); sizeof 運算子僅適用於實值型別,而不適用於參考型別。 不能重載 sizeof 運算子。由 sizeof 運算子返回的值是 int
Time of Update: 2018-12-08
小天:我跟著你的例題一路做下來,發現一個不大不小的問題,就是前面做的樣本我想做完了就留下來以後做個參考。所以不能刪了。但是一個例題就那麼一點點代碼,我又不想重建立立一個程式。於是,我就想能不能把一段一段的代碼給隱藏起來,就像Windows資源管理員中那個樹形菜單一樣,可以展開,可以收縮。
Time of Update: 2018-12-08
有5個簡單的數學運算子,其中2個有二元和一元兩種形式.下表列出了這些運算子,並用一個樣本來說明它們的用法,以及使用簡單的數實值型別(整數和浮點數)時它們的結果 運算子 類別 樣本運算式 結 果 + 二元 var1 = var2 + var3; var1的值是var2與var3的和 - 二元
Time of Update: 2018-12-08
這兩種類型儲存在記憶體的不同地方:實值型別儲存在堆棧中,而參考型別儲存在託管堆上。注意區分某個類型是實值型別還是參考型別,因為這種儲存位置的不同會有不同的影響。 例如,int是實值型別,這表示下面的語句會在記憶體的兩個地方儲存值20: using System; namespace預定義類型 { classProgram { staticvoid Main(string[] args) { int i = 20; int t =
Time of Update: 2018-12-08
前面介紹了變數、資料類型、型別安全等,我們看到使用了賦值運算子" = "。其實在C#中還包含許多進行這類處理的運算子。 把變數和字面值(在使用運算子時,它們都稱為運算元)與運算子組合起來,就可以建立運算式,它是計算的基本建立塊。 運算子的範圍非常廣泛,有簡單的,也有非常複雜的,其中一些可能只在數學應用程式中使用。簡單的操作包括所有的基本數學操作,例如+運算子是把兩個運算元加在一起,而複雜的操作則包括通過變數內容的二進位表示來處理它們。還有專門用於處理布爾值的邏輯運算子,以及賦值運算子,
Time of Update: 2018-12-08
接下來我們看下面試題中出現率非常高的一個知識點,裝箱和拆箱。其實這個知識點對於實戰來說,好像沒有什麼用處。可為什麼企業在面試中會常常提到呢? 首先明白這兩個概念: 裝箱:將實值型別轉換為參考型別。 拆箱:將參考型別轉換為實值型別。 最常見的裝拆箱是發生在實值型別和object類型之間,例如: int i = 10; object o =
Time of Update: 2018-12-08
由於本章是屬於本書的最最最基礎部分,所以我們在講述知識的同時也很注重學習方法和Visual Studio等工具的使用說明。 顯示轉換就需要特殊類或者方法來輔助完成了。例如 long lo = 1; //申明一個long類型變數 byte b = Convert.ToByte(lo);//使用Convert類轉換 short sh = (short)lo; //使用強型別轉換 int i =
Time of Update: 2018-12-08
本章從C#的基礎文法,比如我們第一個看的類的結構和代碼、語句塊結構的說明。接著講述注釋的寫法和預先處理指令的使用。 有了這些基礎的知識後開始講解變數的申明、初始化以及使用。接著就申明變數的資料類型以及資料類型的安全和資料類型之間的轉換進行討論,然後因為變數之間的運算而引入運算子。在後面根據使用邏輯運算子而過渡到分支、迴圈的講解。 本章看起來頁數挺多,但實際上主要是包括一些基礎知識和VS的使用方法和技巧。所以一定要在學習好各知識點的同時熟練VS這個工具的應用。 知識回顧
Time of Update: 2018-12-08
考慮下述情形:要根據變數var是否小於10,來確定是否執行代碼。為此,需要確定語句"var小於10"的真假(小於為真,既true;不小於則為假,既false),即需要知道比較的布爾結果 布爾比較需要使用布爾比較子(也稱為關係運算子),如下表所示。這裡var1都是bool類型的變數,var2 和 var3則可以是各種類型。 運算子類別樣本運算式結果== 二元 var1 = var2== var3; 如果var2等於var3,var1的值就是true,否則為false!= 二元 var1 =
Time of Update: 2018-12-08
在過去的二三十年內,商業軟體中有很多都是採用的是C和C++作為開發中的開發語言。儘管這樣,C和C++的許多不足也在多年的開發過程中逐漸體現出來,C和C++的靈活性犧牲了開發效率 像比較VB或則其他的開發語言而言,相同功能的C/C++軟體通常會需要更長的開發週期。開發效率的低下和開發週期較長,使得越來越多的C/C++開發人員開始尋找一種可以在功能和開發效率間提高更多平衡的開發語言。同樣,對於其他的部分開發語言而言,他們為了取得更好的開發效率,就採用犧牲靈活性來換取開發效率,實際上保持一定
Time of Update: 2018-12-08
在計算運算式時,每個運算子都會按順序處理。但這並不意味著從左至右地運用這些運算子。 例如,有下面的代碼: var1 = var2 + var3; 其中+運算子就是在=運算子之前進行計算的。在其它一些情況下,運算子的優先順序並沒有這麼明顯,例如: var1 = var2 + var3 * var4; 其中*運算子先計算,其後是+運算子,最後是=運算子,這是標準的數學運算順序,其結果與我們在紙上進行算術運算的結果相同。 像這樣的計算,可以使用括弧控制運算子的優先順序,例如:
Time of Update: 2018-12-08
說了這麼多,下面我們來做幾個整點實際的。畢竟學習的最快途徑還是練習,只有練習足夠了,學習自然也就水到渠成了。 1. 開啟Microsoft Visual Studio 2010。在"開始"菜單->"程式"目錄->"Microsoft Visual Studio 2008"目錄->點擊" Microsoft Visual Studio 2008"。 2. 如果是第一次開啟,會得到一個首次設定的視窗, 圖1-20 選擇Visual
Time of Update: 2018-12-08
直到現在,我們一直在使用簡單的=賦值運算子,其實還有其它賦值運算子,而且它們都非常有用。除了=運算子外,其它賦值運算子都以類似的方式工作。 與=一樣,它們都是根據運算子和右邊的運算元,把一個值賦給左邊的變數。下表列出了這些運算子及其說明。 運算子 類 別 樣本運算式 結 果 = 二元 var1 = var2;