2

エラーを少し調べたところ、セッターが常に呼び出されているときに再帰しているように見えますが、何が間違っているのか本当にわかりません。私はそれがおそらく単純なものであることも知っています。

 namespace PracticeCSharp
 {
class Program
{


    static void Main(string[] args)
    {
        Player test = new Player();
        test.Score = 5;
        Console.ReadLine();
    }

}
class Player
{
    public int Score
    {
        get
        {
            return Score;
        }
        set
        {
            Score = value;
        }
    }
}

}

助けてくれてありがとう。

4

2 に答える 2

2

Score プロパティ自体が再帰的であるためです。

代わりにこれをするつもりでしたか?

namespace PracticeCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Player test = new Player();
            test.Score = 5;
            Console.ReadLine();
        }

    }
    class Player
    {
        private int score;
        public int Score
        {
            get
            {
                return score;
            }
            set
            {
                score = value;
            }
        }
    }
}

アップデート:

または、これを行うこともできます:

namespace PracticeCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Player test = new Player();
            test.Score = 5;
            Console.ReadLine();
        }

    }
    class Player
    {
        public int Score { get; set; }
    }
}
于 2015-07-29T22:50:03.107 に答える
1

スコア変数を宣言する必要があります

 namespace PracticeCSharp
 {    
    class Program
    {


        static void Main(string[] args)
        {
            Player test = new Player();
            test.Score = 5;
            Console.ReadLine();
        }

    }
    class Player
    {
        private int _score;
        public int Score
        {
            get
            {
                return _score;
            }
            set
            {
                _score = value;
            }
        }
    }
}
于 2015-07-29T22:57:02.243 に答える