Time of Update: 2017-02-27
給連絡人清單建立資料表我們有一個資料庫,現在我們需要往裡面儲存資訊了。但是,實際上,我們的資訊需要放進一個資料表裡,資料表是資料庫用來儲存每一個bit資料的資料結構。對於我們的應用來說,我們來建立一個叫做“People”的資料表來儲存所有的連絡人資訊。1向ContactDB資料庫裡面添加一個資料表。在資料庫瀏覽器裡面按右鍵Tables,並且選擇AddNewTable。這會開啟一個讓你來定義剛剛建立的資料表中資料列的視窗。現在我們需要向我們的資料表中添加資料列了。首先,讓我
Time of Update: 2017-02-27
IDE建立了一個資料庫你告訴IDE向你的項目添加一個新的資料庫的時候,IDE就為你建立了一個資料庫。SQL資料庫是一個用有組織的、有關聯的方式為你儲存資料的系統。IDE給了你維護你的資料所需要的所有工具。SQL資料庫裡的資料存在表裡。現在來說,你可以認為它是一個電子製表軟體。它把你的資料群組織在行列之中。列代表資料分類,比如一個連絡人的名字和電話,每一行就代表一張連絡人卡片上的資料。SQL是它自己的語言SQL代表結構化查詢語言
Time of Update: 2017-02-27
我們需要一個資料庫來儲存我們的資訊在向表單添加剩下的欄位之前,我們需要建立一個資料庫來和表單串連。IDE會建立很多代碼來把資料和我們的表單串連起來,但是我們還是要先建立資料庫本身。1向你的項目添加一個SQL資料庫在解決方案瀏覽器裡,右鍵點擊Contacts項目,選擇添加,然後選擇建立項。選擇SQL資料庫表徵圖,並把它命名為ContactDB.mdf。2取消資料來源設定精靈。現在,我們想要跳過配置資料來源的步驟,所以,點擊取消按鈕。我們一設定完資料庫結構就回到這一步來。3在解決方案瀏覽器裡查看你的
Time of Update: 2017-02-27
我們已經做了這麼多了我們已經建了一個表單還有一個在被點擊時會彈出訊息框的PictureBox對象。接下來,我們需要添加卡片上的其他欄位,比如連絡人的名字和電話。我們把那些資料存在一個資料庫裡。VS可以為我們直接連接資料庫的欄位,這意味著我們不用和很多的資料庫存取碼打交道了(那還挺好的)。要想工作,我們要建立資料庫,這樣表單上的控制項才能連結到它。所以我們就要從.NET可視化對象直接跳到資料存放區的部分了。VS可以產生代碼來把你的表單和資料庫連接起來,但是你需要在產生代碼之前先有資料庫。
Time of Update: 2017-02-27
你已經可以運行你的應用了按你鍵盤上的F5鍵,或者點擊工具列上的綠色按鈕來檢查目前為止你已經做了什麼。(這被叫做“調試”,意味著用IDE運行你的程式。)你可以通過選擇“調試”菜單裡的“停止調試”或者點擊工具列的按鈕來停止調試。問:在我的IDE裡,綠色的肩頭被標為“調試”。這是個問題嗎?答:不。調試,至少對於我們現在的目的來說,意味著在IDE裡運行你的程式。我們後面會討論很多關於調試的事兒,但是現在,你可
Time of Update: 2017-02-27
增加自動產生的程式碼IDE為你建立了很多代碼,但是你仍然會想要深入代碼並增加它。讓我們設定logo,讓它在被使用者雙擊的時候顯示關於資訊。問:什麼叫方法?答:方法就是一個有名字的代碼塊。我們在第二章會討論更多關於方法的事兒。問:n是幹什麼用的?答:那是分行符號。它告訴C#把“ContactList1.0”放在第一行,並為“Writtenby”新起一行。
Time of Update: 2017-02-27
螢幕後的VisualStudio每次你用VSIDE做些什麼,IDE都會為你寫代碼。當你建立了這個logo並告訴VS使用你下載的圖片,VS會建立一個資源並把它與你的應用關聯起來。資源指的是任何的影像檔、音頻檔案、表徵圖、或者任何其他與你的應用的捆綁的任何資料檔案。影像檔與程式整合,所以當程式安裝到其他的機器時,映像會一起被安裝而且PictureBox可以使用它。當你把PictureBox拖拽到你的表單,IDE會自動的建立一個叫做Form1.resx來儲存資源並把它儲存在項目裡。雙擊這個檔案,你可以
Time of Update: 2017-02-27
2把PictureBox設定為zoom模式。你表單上的每一個控制項都有你可以設定的屬性。點擊下圖中的小黑劍頭兒就可以訪問那些屬性。把PictureBox的Size屬性設定為zoom看看會怎樣。3下載ObjectvillePaper公司的logo。從HeadFirst實驗室下載ObjectvillePaper公司的logo(http://www.headfirstlabs.com/books/hfcsharp)並儲存到你的硬碟。然後點擊PictureBox的屬性箭頭,並選擇圖片。點擊Import,
Time of Update: 2017-02-27
問:如果IDE為我寫了那麼多代碼的話,學C#就是學怎麼用IDE嘍?答:不,IDE在自動產生代碼方便很棒,但是它也只能做那麼多了。有些事情它確實很在行,比如為你設定好的起點,自動改變表單上控制項的屬性。但是編程中最難的部分--分辨出你的程式需要做什麼而且讓它去做--是任何IDE都做不到的。即使VS是最先進的IDE之一,它也只能做那麼多了。寫關鍵代碼的是你而不是IDE。問:我在VS裡面建立一個項目,但是進入“MyDocuments”下的“Projects&rdqu
Time of Update: 2017-02-27
/** Created by SharpDevelop.* User: Administrator* Date: 2008/9/4* Time: 上午 10:40* 泛型(gereric)*/using System;class Stack{private int[] items;private int count;public Stack(int size){items=new int[size];count=0;}public void Push(int x){items[count++]=
Time of Update: 2017-02-27
你可以從www.headfirstlabs.com/books/hfcsharp/下載所有練習的答案。因為for迴圈需要在while迴圈檢查Visible是否為真之前停止,所以產生了延遲。你可以通過向每個for迴圈的條件測試添加&&Visible==true來解決延遲。你的代碼和我們的有點不同吧?解決任何編程問題都不止有一個途徑--比如你可能用while迴圈替代for迴圈。如果你的程式能運行,你的練習就成功了!
Time of Update: 2017-02-27
我們多練習一些條件測試和迴圈。看看下面的代碼。圈出條件測試並填空。讓注釋解釋正在被啟動並執行代碼。條件測試的更多知識你可以用比較子檢查一個變數來做簡單的條件測試。下面是怎麼比較x和y值:x<y(小於)x>y(大於)x==y(等於)這些是最常用的。那你的迴圈就一直運行!每次程式運行條件測試,結果或是真或是假。如果是真,那你的程式就會多迴圈一次。每個迴圈都應該有在運行次數足夠之後可以使得返回結果為假的代碼。如果沒有,那麼這個迴圈就一直執行,知道你關掉程式或者關掉電腦。
Time of Update: 2017-02-27
添加另一個條件測試第三個按鈕做下面的輸出。現在改兩行代碼來讓它彈出兩個訊息框視窗。向你的程式添加迴圈這兒是最後一個按鈕的代碼。它有兩個迴圈。第一個是while迴圈,它在條件為真時反覆執行括弧內的代碼。第二個是for迴圈。看看它怎麼工作的。點擊按鈕之前,讀讀代碼並試著弄明白訊息視窗會顯示什麼。然後點擊按鈕來看看你的猜測正確否。
Time of Update: 2017-02-27
設定條件並看看是不是真的用if/else語句告訴你的程式當條件為真(或假)的時候去做特定的事情。用邏輯運算子來檢查條件你已經看過==運算子了,你用它來檢查兩個變數是不是相等。還有很多其他的運算子。你不用現在急著記住它們--下面幾章你將會一遍又一遍的見到它們。*!=運算子和==類似,只是它當在你比較的兩個變數不等時才為真。*你可以用<或>來比較數字,來看看哪個大哪個小。*==,!=,<,>叫做條件運算子。當你用它們測試兩個變數或值時,這叫做執行條件測試。*你可以用&
Time of Update: 2017-02-27
If/else語句決定走向用if/else語句告訴程式在你設定的狀態為真(或為假)的時候去做特定的事情。很多if/else語句檢查兩個運算式是否相等。這時你就要用到==運算子了。這個和你用來賦值的=運算子不同。別被雙等運算子弄糊塗了!你用一個等號(=)來給變數賦值,但是兩個等號(==)是用來比較兩個變數的。你無法相信程式中的多少bug--即使是老手程式員寫的!--是因為錯把==用成了=。如果你看見IDE提示你“不能隱式把int轉化為bool”,那可能就是出上面講的差錯了。
Time of Update: 2017-02-27
開始編碼嘍任何程式的真正工作都在於寫指令語句。但是語句不是存在於真空裡的。所以我們開始進入深入挖掘並寫寫代碼吧。建立一個新表單應用項目。添加指令語句來顯示一條訊息從雙擊第一個按鈕來開始。然後給button1_Click()方法添加下面的六條指令語句。近距離觀察代碼並看看它的輸出。文法101*每行代碼都是分號結尾x=x+1;*注釋以雙斜線開始//this line is ignored*大多數空格都無所謂x = 3;與x=3;一樣*變數聲明時都有類型和名字(第四章你會學習很多的類型)int
Time of Update: 2017-02-27
迴圈反覆執行一個動作對大多數比較大的程式有一個奇怪的事兒:它們經常反覆調用一個特定的動作。迴圈就是做這個用的--它們告訴程式持續執行一段特定代碼直到某些狀態成為true或false。用一小段代碼寫一個for迴圈一分鐘就能寫完一個for迴圈。IDE還能幫你加快一點。鍵入for和兩次tab,IDE將會自動為你插入代碼。如果你鍵入一個新變數,它將會自動更新剩下的程式碼片段。再按一次tab,游標將會跳到length上去。
Time of Update: 2017-02-27
使用變數之前必須賦值把下面的指令寫入一個C#程式:Intz;MessageBox.Show(“Theansweris”+z);向前走,試一試。你會收到一個錯誤,IDE將會拒絕編譯代碼。那是因為IDE將會檢查每一個變數來確定它已經在被使用之前被賦值過了。防止忘記賦值的最簡單方法就是把聲明變數和給它賦值的指令合為一句。一些有用的類型每個變數都有一個類型,這告訴C#它可以承載什麼資料。第四章我們會研究更多C#中的類型的細節。現在,我們將會專註於這三個最流行的類型。Int承載整形
Time of Update: 2017-02-27
你的程式用變數來操作資料徹底瞭解後,你會知道每個程式都是處理資料的。資料有時會是檔案中的表單,有時是遊戲裡的映像,有時是一條立即訊息。這些都是資料。變數此時就有用了。程式用變數儲存資料。聲明你的資料聲明一個變數,你要告訴程式它的類型和名字。一旦C#知道了變數的類型,它將會在你犯了錯誤或作一些沒有道理的事兒時組織編譯,比如用“Fido”去減48353.變數可變程式運行過程中變數會有不同的值。換句話,變數的值可變。(所以叫“變數”是個好名字。)這個很重
Time of Update: 2017-02-27
怎麼樣了?現在你的程式不會顯示連絡人表單了,它只彈出訊息框視窗。你寫了新的Main()方法,你就給了程式一個新的進入點。現在程式做的第一件事就是運行Main裡的指令--也就是運行MessageBox.Show()這條指令。Main裡除了這條就沒有別的指令了,所以你點擊OK按鈕之後,程式沒指令可執行了,它將會停止。5想想怎麼修複你的程式,讓它還可以彈出連絡人視窗。問:大括弧都是幹嘛用的?答:C#用大括弧來把指令組織到代碼塊裡。大括弧總是成對的。一個左括弧後總是可以看見一個右括弧。IDE幫你匹配大括