作者F23ko (純潔)
看板C_Sharp
標題[問題] class 跟 struct
時間Wed Mar 17 18:08:00 2010
自己寫的小程式
能把輸入的字母做排列組合
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