当前位置: 首页 > 编程语言 > C#

C#System.Collections.Generic.List`1分享

时间:2023-04-10 13:04:06 C#

C#System.Collections.Generic.List`1所以我在9月开始了Web开发课程,我们将使用C#编程。所以我开始学习它,所以我有一些经验。现在我在HTML、CSS和PHP方面有大约2年的经验,所以我立即选择了C#。我正在上课,我边做边学,而不是读书。我决定制作一个基于小型控制台的RPG来上一课。我有一个基本的游戏,但我有一个问题。我正在尝试在另一个类中显示Player类的玩家库存。我正在使用List来保存玩家库存。publicListinventory=newList();这是在Players类文件中。然后在商店类中,我正在做;Playerplayer=newPlayer();创建一个新对象来访问播放器类。然后在商店中添加一些东西到列表中,我正在做;player.inventory.Add("斧头");但是如果我让player.inventory();并将其打印在控制台中,我收到一个错误-System.Collections.Generic.List`1[System.String]。有人能帮我吗?我需要提供更多代码吗?这不是错误,它只是打印出列表。List的ToString()的默认实现只是打印类型的名称。我想您希望它像在PHP中一样工作,打印逗号分隔的数组?尝试:string.Join(",",player.inventory);您正在尝试打印列表对象而不是列表中包含的值,您需要这样的东西:-foreach(variinplayer.Inventory){Console.WriteLine(i);}编辑*根据评论Console.Write(string.Join(System.Environment.NewLine,player.Inventory));如果要一次打印所有项目,请将下一个字符串打印到控制台:stringitems=string。加入(Environment.NewLine,player.inventory);控制台.WriteLine(项目);这将在单独的行中打印每个项目默认情况下,ToString()(在将其传递给Console.WriteLine时在列表上调用)将打印列表的类型,而不是内容本身。这就是您收到System.Collections.Generic.List`1[System.String]的原因。在控制台屏幕上。您需要一个foreach循环来遍历列表的每个成员。您不能只打印整个列表。你需要这样的东西:foreach(variinPlayer.Inventory){Console.WriteLine(i);}如果你想输入所有库存项目,流动的代码应该工作:foreach(stringinventoryIteminplayer.inventory){Console.WriteLine(库存项目);}player.inventory是一个集合对象,不能直接输入。以上就是C#学习教程:C#System.Collections.Generic.List`1分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表侵权,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: