【发布时间】:2011-07-21 14:29:21
【问题描述】:
我知道这里的东西是值类型,没有被引用,所以当我更新列表时字段 _num 不会被修改。但我的问题是当我修改包含它的列表时如何更新字段 _num 被修改?
class Foo
{
public List<object> mylist;
private int _num;
public int num
{
get
{
return _num;
}
set
{
this._num = value;
mylist[0] = value;
}
}
public Foo()
{
mylist = new List<object>();
mylist.Add(_num);
}
}
class Program
{
static void Main(string[] args)
{
Foo my = new Foo();
my.num = 12;
my.mylist[0] = 5;
Console.WriteLine("" + my.mylist[0] + " " + my.num); ==> output is "5 12"
Console.ReadLine();
}
}
可以进行哪些更改以使列表和字段同步?就像我的输出应该是“5 5” 感谢您的帮助!
【问题讨论】:
-
因为我们刚刚帮助回答了一个包含此特定代码的问题,所以这开始有点像家庭作业的味道。是吗? =)
-
为什么需要在两个地方存储相同的值?
-
没有。这是我工作的一部分。我正在实现一些需要此功能的东西。
-
所以我可以用索引访问它。
-
也许如果您解释您的设计意图,我们可以以更好的方式帮助您。