从用户输入读取我的对象的属性

时间:2019-01-02 20:17:37

标签: c# methods properties readline

我是编码初学者,英语不是我的母语。

请问您看一下这段代码和我的评论吗?

出于篇幅考虑,我从类Player中删除了代码。

我想知道我要写些什么而不是Alex.damage = int.Parse(Console.ReadLine());

namespace ConsoleApp5
{
    class Player
    {
        private int _health = 100;

        public int health
        {
            get
            {
                return _health;
            }
        }

        public void damage (int _dmg)
        {
            _health -= _dmg;
        }
    }
}

class Programm
{
    static void Main(string[] args)
    {
         Player Alex = new Player();
         Console.WriteLine("Wie viel Damage soll ausgeteilt werden?"); // "How much 
        //damage should be done"
        Alex.damage = int.Parse(Console.ReadLine()); // there is the error 
        //"'damage' is a methodgroup, therfore an assigment is not possible"
        Console.WriteLine(Alex.health);
        Console.ReadKey();
    }
}

2 个答案:

答案 0 :(得分:1)

成员damage是一种方法,因此您不能为其分配整数。

您需要做的是调用方法,并将值作为参数传递。我建议首先将值收集到变量中。它使读取和调试变得更容易:

var value = int.Parse(Console.ReadLine());
Alex.damage(value);

答案 1 :(得分:0)

请详细说明需要实现的内容。如果要将值传递给损害方法,可以通过发送参数来调用该方法

     var damagefromuser=Convert.ToInt32(Console.ReadLine());
     Alex.damage(damagefromuser);

如果您尝试从方法中读取数据,则可以从方法中返回所需的值

          public int damage (int _dmg)
        {

              return _dmg;
        }