我想学习类atm,这里是我想出的:通过对象数组访问对象
创建关卡的级别。这个类有一个对象数组,可以填充其他类的房间(raeume)。现在,我想在插入它们之后从房间访问对象数组中的对象。以下是我想要键入:
wohnung.rooms[i].raumname.toString();
这里有两类
class raum
{
static object[] o_nebenraum = new object[3]; //N-O-S-W
static string s_raumname = "";
public object[] nebenraume
{
get
{
return o_nebenraum;
}
set
{
o_nebenraum = value;
}
}
public string raumname
{
get
{
return s_raumname;
}
set
{
s_raumname = value;
}
}
}
class level
{
static object[] o_rooms = new object[100];
public object[] rooms
{
get
{
return o_rooms;
}
set
{
o_rooms = value;
}
}
}
这是我如何设置好一切。
level wohnung = new level();
raum keller = new raum();
raum wohnzimmer = new raum();
raum kueche = new raum();
raum schlafzimmer = new raum();
wohnung.rooms[0] = keller;
wohnung.rooms[1] = wohnzimmer;
wohnung.rooms[2] = kueche;
wohnung.rooms[3] = schlafzimmer;
keller.raumname = "Keller";
wohnzimmer.raumname = "Wohnzimmer";
kueche.raumname = "Küche";
schlafzimmer.raumname = "Schlafzimmer";
for (uint i = 0; i < 3; i++)
{
Console.WriteLine("Wohnung beinhaltet jetzt " + *MISSING CODE PART, I WANT TO GET THE .raumname out of the object array from wohnung.room*);
}
Console.ReadKey();
为什么's_raumname','o_nebenraum'和'o_rooms'静态?为什么'o_nebenraum'的类型'object []'而不是'raum []'?为什么使用数组而不是List? –
你应该在任何地方访问它们,o_nebenraum现在是raum [],我现在还使用列表如下所示: –
如果's_raumname'是静态的,这将导致一个“奇怪”的行为,所有房间将具有相同的名称(最后一个被分配 - 在这种情况下“Schlafzimmer”) –