Jon*_*Jon 6 c# visual-studio-2010
所以我在septemeber开始了一个Web开发课程,我们将用C#编程.所以我开始学习它,所以我有一些经验.现在我有大约2年的HTML,CSS和PHP经验,所以我马上选择了C#.
我正在上课,我通过做而不是阅读来学习.我决定制作一个小型的基于控制台的RPG来学习课程.我有一个基本的游戏,但我有一个问题.我正试图在另一个类中显示Player类中的玩家库存.
我正在使用List来保存玩家库存.
public List<string> inventory = new List<string>();
Run Code Online (Sandbox Code Playgroud)
这是在Players类文件中.
然后在商店类,我正在做;
Player player = new Player();
Run Code Online (Sandbox Code Playgroud)
创建一个新对象来访问播放器类.然后在店里给List添加一些东西,我正在做;
player.inventory.Add("Axe");
Run Code Online (Sandbox Code Playgroud)
但是如果我player.inventory();在控制台中打印出来,我会收到一个错误 - System.Collections.Generic.List`1 [System.String].
有人可以帮我吗?我需要提供更多代码吗?
这不是错误,只是打印出列表。ToString()List的默认实现只是打印类型的名称。
我猜您希望它像在 PHP 中一样工作,在其中打印以逗号分隔的数组?尝试:
string.Join(", ", player.inventory);
Run Code Online (Sandbox Code Playgroud)
您正在尝试打印列表对象而不是列表中包含的值,您需要类似的内容:-
foreach(var i in player.Inventory)
{
Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)
编辑* 根据评论
Console.Write(string.Join(System.Environment.NewLine, player.Inventory));
Run Code Online (Sandbox Code Playgroud)
您需要一个foreach循环来迭代列表中的每个成员。您不能只打印整个列表。
你需要类似的东西:
foreach(var i in Player.Inventory)
{
Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39653 次 |
| 最近记录: |