比方說,我有這樣2類:插入不同值列出C#
public class BlockBuilding
{
private List<Room> rooms;
...
public class Room
{
private List<Chair> chairs;
....
然後我聲明一個二維數組變量和分配值:
BlockBuilding[,] bB= new BlockBuilding[2,1];
Room room = new Room();
BlockBuilding b1 = new BlockBuilding();
BlockBuilding b2 = new BlockBuilding();
b1.getRooms().Add(room);
b2.getRooms().Add(room);
bB[0,0] = b1;
bB[1,0] = b2;
Chair c1 = new Chair();
Chair c2 = new Chair();
bB[0,0].getRooms()[0].getChairs().Add(c1);
bB[1,0].getRooms()[0].getChairs().Add(c2);
假設所有必要的數據是存在的,當我試圖在bB [0,0]和bB [1,0]中顯示椅子時,沒有NullException問題,令人驚訝的是它們都包含c1和c2,而每個椅子只應包含一把椅子。
以上所有內容與我的代碼都是類似的代碼結構,由於披露協議的限制,我的代碼不允許泄露。我已經被這個bug困擾了數週。任何幫助將不勝感激!
你有一個房間。爲什麼它不包含兩個椅子呢? –
您將同一個房間添加到兩個建築物中。 – juunas
我認爲房間是通過價值而不是通過參考添加的。我會盡力從這個方向解決問題。 – Jeff