C # CLI RPG: Почему я не могу консольный журнал моего списка (инвентаризации) типа Struct (InventoryItem)? - PullRequest
0 голосов
/ 06 марта 2019

Желаемое поведение:

Я читал где-то, что структуры в C # сложны, однако в Game Engines я всегда делал свой инвентарь со списком структурного типа.По сути, в инвентаре должны храниться предметы с различными переменными (защита, атака и т. Д.) - идеально подходит для структур.

.

Что не работает:

После того, как я создаю тип Struct, список этого типа и добавляю к нему элемент, я не могу отобразить его с какой-либо формой цикла ForEach, который я пробовал.Вместо этого он отображает CLI_RPG.InventoryItem , где CLI_RPG - это имя проекта, а InventoryItem - тип структуры.

.

То, что я считаю неправильным:

Я думаю, что сделал файл / класс со Struct неправильно.Однако это не дает ошибок.

.

Код программы:

using System;
using System.Collections.Generic;

namespace CLI_RPG
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Character character = new Character();
            character.ShowStatistics();

            //Create List Of Struct Type
            List<InventoryItem> Inventory = new List<InventoryItem>();
            InventoryItem WoodenSword = new InventoryItem("Wooden Sword", 25, 7, 0, 50, 10);
            Inventory.Add(WoodenSword);

            // Show Struct Elements
            Inventory.ForEach(i => Console.Write("{0}\t", i));

            Console.ReadKey();
        }
    }
}

.

Код структуры:

using System;
using System.Collections.Generic;
using System.Text;

namespace CLI_RPG
{
    public struct InventoryItem
    {
        public string name;

        public int durability;

        public int damage;
        public int defence;

        public int buyPrice;
        public int sellPrice;

        public InventoryItem(string name, int durability, int damage, int defence, int buyPrice, int sellPrice)
        {
            this.name = name;
            this.durability = durability;
            this.damage = damage;
            this.defence = defence;
            this.buyPrice = buyPrice;
            this.sellPrice = sellPrice;
        }
    }
}

.

Любая помощь приветствуется!Я должен изучить и понять их, прежде чем начать делать игры!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...