class ListHolder
{
public List<char> List;
public ListHolder(List<char> l)
{
this.List = l;
}
}
class Program
{
static void Main(string[] args)
{
List<char> a = new List<char>();
a.Add('s');
ListHolder c = new ListHolder(a);
a.Clear();
Console.WriteLine(c.List.Count);
}
}
我已经将一些列表放入该类中,然后清除了列表并在类中写入了列表的计数...我希望输出应该为“1”(因为类中的列表包含字母' s') 但它写的是“0”。 a.Clear 怎么可能清除类中的列表?如何才能实现仅清除 Main 中的列表和类中的列表?
由于您传递的是引用而不是列表本身,因此清除列表后您将得到 0。
你要做的就是向班级传递一个新的List
包含其他列表的值:
cl c = new cl(new List<char>(a));
这样,即使您清除了“主”列表,您的班级中也会有 1 个项目。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)