看板 C_Sharp 關於我們 聯絡資訊
自己寫的小程式 能把輸入的字母做排列組合 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
horngsh:看中文名稱非常不習慣... 03/17 18:12
F23ko:如果看我獨特的英文命名,保證會更不習慣的..... 03/17 18:19
F23ko:隨便亂縮寫,甚至加上拼錯字 XD 03/17 18:20
F23ko:沒人理我〒△〒 03/18 23:00