목록 및 클래스를 읽는 한, 특정 클래스의 인스턴스 목록이 있고 목록에 .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";
...
}
}
어딘가에 내 주요 코드에서 내가는 config 클래스의 인스턴스입니다 currentConfig, 사용하십시오 :
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의 현재 값을 제공하지 말고 "설정하지 않음". 내가 도대체 뭘 잘못하고있는 겁니까? 사전에감사합니다!
내가 문제를 복제 할 수 없습니다
'listOfItems'을 초기화합니까? Item 클래스에'get/set' 메소드가 있습니까? – sarwar026
다른 이름으로 이름을 설정하지 않았습니다. 코드가 누락 되었습니까? – usr
여기서 item1과 item2에 다른 이름을 설정합니까? –