看板 C_Sharp 關於我們 聯絡資訊
招喚小型卡卡獸...原文和推文吃光光... :a大 :c2[1] = new Class2(new string[] {"c","d"}); :與建構子 :public Class2(string[] myword) 1.是不是可以想成 string[] myword=new string[] {"c","d"} 2.若照上面我的註解改成c2[1] = new Class2(string[] {"c","d"}); 3.會變成 string[] myword=string[] {"c","d"} :這樣就錯了! 是啊...這樣就錯了... 明明在步驟1的時候有用new配置記憶體~那為什麼步驟2不用呢? 當然還是要囉... 我在猜你是把建構子要傳入的型態搞錯意思了 建構子和方法的引數寫法一樣~都是只要指定型態就好 所以public Class2(string[] myword)這樣代表的是要傳入string[]這種型態的東西 這時有3種寫法: a.像步驟1一樣~先宣告並配置 步驟2就寫成c2[1] = new Class2(myword); b.不想寫步驟1,反正下面的程式也用不到 那就可以寫成c2[1] = new Class2(new string[] {"c", "d"}); ↑ 直接new一個傳過去 c.不想給...那就寫成c2[1] = new Class2(null); 但是要注意給null會不會引發後續Class2用到時的錯誤就是了 -------------------------------------------------------------------------- string[] myword; //只是宣告myword是string[]型態~這時的myword是null myword = new string[] {"c", "d"}; //配置記憶體和內容並指定給myword 至於型別、物件、介面、繼承等等~我會推薦"深入淺出-設計模式"這本書 雖然它是用Java寫的~但語法和C#相近~不會讓人有距離感 我相信只要努力看完並反覆體會第一章的鴨子範例 應該可以對那四個東西有進一步的認識 (不過這本書蠻貴的就是了XD 若你在台北市可以試著去借借看) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.67.96 ※ 編輯: andymai 來自: 61.227.67.96 (12/29 23:05)
amonsat:講解的很清楚,感謝 12/30 00:23
james732:超級推「深入淺出-設計模式」 看它之前不知道介面是啥 12/30 00:46