[問題] class 跟 struct

看板C_Sharp作者 (純潔)時間16年前 (2010/03/17 18:08), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/3 (看更多)
自己寫的小程式 能把輸入的字母做排列組合 EX: 輸入:ABB 輸出:ABB BAB BBA http://www.badongo.com/file/21299172 裡面定義一個叫做字母的class 用來記錄使用者輸入的字母,以及上層遞迴是否有「取走」這個字母 public class 字母 { public char 字母元件; public bool 被取走; public 字母(char a) { 字母元件 = a; 被取走 = false; } public void 拿走() { 被取走 = true; } public void 放回() { 被取走 = false; } } 之後,會建立一個List<字母>欄位,並在建構子把使用者輸入的字母放進去 List<字母> 取樣陣列 = new List<字母>(); public 字元排列(string 字元集) { foreach (char 輸入字母 in 字元集) { 取樣陣列.Add(new 字母(輸入字母)); } } for (int i = 0; i < 取樣陣列.Count; i++) { (中略)................ 取樣陣列.ElementAt(i).拿走(); (中略)................ } 在這裡,把class改成struct會造成錯誤 在執行「取樣陣列.ElementAt(i).拿走();」時 public bool 被取走; 並不會變成true 我在想.... 可能是struct是實質類型、class是參考類型的關係 我想請問,如果在這種狀況下,硬要把「字母」定義成struct 要怎麼寫? -- ◢ 鄉民啊!鄉民! 請告訴我誰是最純潔的人! ◢█ │ PTT │ ██ :就是你!Snow White F23ko!│ █◤ ╯ ◤ ﹨(╯▽╰ )∕ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.27.109.99

03/17 18:12, , 1F
看中文名稱非常不習慣...
03/17 18:12, 1F

03/17 18:19, , 2F
如果看我獨特的英文命名,保證會更不習慣的.....
03/17 18:19, 2F

03/17 18:20, , 3F
隨便亂縮寫,甚至加上拼錯字 XD
03/17 18:20, 3F

03/18 23:00, , 4F
沒人理我〒△〒
03/18 23:00, 4F
文章代碼(AID): #1BeAe3A6 (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1BeAe3A6 (C_Sharp)