据我阅读列表和类,如果您有某个类的实例列表并将 .Add() 它们添加到列表中,则应添加引用。所以如果你修改原始实例,然后通过列表访问它,你应该得到修改后的版本。
这是我的代码的结构:
public class Config()
{
public List<Item> listOfItems = new List<Item>();
public Item item1 = new Item();
public Item item2 = new Item();
...
Config()
{
listOfItems.Add(item1);
listOfItems.Add(item2);
...
}
}
public class Item
{
public string name;
Item()
{
name = "Not Set";
...
}
}
在我的主代码的某个地方,我会使用 currentConfig,它是 Config 类的一个实例:
currentConfig.item1.name = "A";
currentConfig.item2.name = "B";
for (int i = 0; i < currentConfig.listOfItems.Count; i++)
{
DoSomething(currentConfig.listOfItems[i].name);
}
但这并没有给我 item1.name 和 item2.name 的当前值,而是“未设置”。我究竟做错了什么?
提前致谢!