好的,对于我的C#编程课我正在制作冒险游戏。我想我知道如何做大部分工作都会让我无法设置“世界”。
我有一个世界级(World.cs
),我开始为每个房间创建一个列表。但是我很困惑为每个房间添加名称和描述。
例如,如果List
(会议室)类型为String
,我会room.Add("Prison", "This is a prison)
。
做这个的最好方式是什么?
答案 0 :(得分:7)
那是你创建一个类
的时候public class Room {
public string Name { get; set; }
public string Description { get; set; }
}
并保留一份房间清单:
List<Room> rooms = new List<Room>();
要向列表中添加任何内容,只需执行以下操作:
rooms.Add(new Room { Name = "Prison", Description = "This is a prison" });
对象用于将数据组合在一起,这将允许更清晰的代码。它是面向对象编程的基石之一。
答案 1 :(得分:0)
你能做的最好的事情就是创造一个班级。
public class Room
{
public string Name { get; set; }
public string Description { get; set; }
}
然后您可以创建Rooms
List<Room> rooms = new List<Room>();
添加对象
Room room = new Room { Name = "", Description = "" };
rooms.Add(room);
从现在开始,我将谈论存在的事情,但这不一定是最好的事情。
您可以创建一个这样的扩展方法
public static class ListRoomExtender
{
public static void Add(this List<Room> rooms, string name, string description)
{
rooms.Add(new Room { Name = name, Description = description });
}
}
正如我所指出的,此方法仅适用于房间列表。所以,如果我有
List<Room> rooms = new List<Room>();
我可以用
rooms.Add("Room name", "Room description");
StringDictionary
Dictionary<string, string>
Key
和Value
访问数据。List<KeyValuePair<string, string>>
Key
和Value
访问数据。