作者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
1F:推 horngsh:看中文名称非常不习惯... 03/17 18:12
2F:→ F23ko:如果看我独特的英文命名,保证会更不习惯的..... 03/17 18:19
3F:→ F23ko:随便乱缩写,甚至加上拼错字 XD 03/17 18:20
4F:→ F23ko:没人理我〒△〒 03/18 23:00