C# list/dictionary 添加方法导致 StackOverflowException

C# list/dictionary add method cause StackOverflowException

当我尝试将值添加到列表或字典中时,出现 WhosebugException 错误

stacktrace at Jaka_to_piosenka.MusicData..ctor ()

这是我的 C# 代码:

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

namespace Jaka_to_piosenka
{
    public class MusicData
    {
        public string Question { get; set; }
        public int GoodAnswerID { get; set; }
        public string SongFile { get; set; }
        
        List<MusicData> musicTable = new List<MusicData>
        {
          new MusicData { Question="a", GoodAnswerID = 3, SongFile="01.mp3" },
        };
    }
}

namespace Jaka_to_piosenka
{
    public class Game
    {
        public static void Main(string[] args)  
        {  
            var musicTbl = new MusicData();
        }
    }
}

我的问题的根源是什么?

删除此部分并找到创建列表以消除 WhosebugException 的更好方法

List<MusicData> musicTable = new List<MusicData>
{
      new MusicData { Question="a", GoodAnswerID = 3, SongFile="01.mp3" },
};

您可以创建一个将实例初始化为某些值的构造函数,但您不能在其中创建相同 class 的列表。