将 List<> 作为参数包含在 class 中的最佳方法是什么?

What is best way to include List<> as parameter in class?

我有 2 个课程,我想向其中添加一个列表。我将使用复选框来填写我的列表。但是现在我应该如何创建列表?

public class DocPart
        {
            public string Title { get; set; }
            public string TexLine { get; set; }
        }
    ​
        public class DocConfig
        {
            public string Description { get; set; }
            public List<DocPart> Parts { get; set; }
    ​
            public static DocConfig LoadFromString(string jsonData)
            {
                var serializer = new DataContractJsonSerializer(typeof(DocConfig));
    ​
                var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonData));
                var config = (DocConfig)serializer.ReadObject(ms);
    ​
                return config;
            }
    ​
            public string SaveToString()
            {
                var serializer = new DataContractJsonSerializer(typeof(DocConfig));
                var ms = new MemoryStream();
                serializer.WriteObject(ms, this);
                return Encoding.UTF8.GetString(ms.ToArray());
            }
        }

例如,我想在开始时为 2 个项目创建列表。我在想这段代码:

 var doc = new DocConfig();
doc.Description = "bla bla";
doc.Parts = new List<DocPart>();
doc.Parts.Add(new DocPart { Title = "aaa", TexLine = @"\include{aaa.tex}"});
doc.Parts.Add(new DocPart { Title = "bbb", TexLine = @"\include{bbb.tex}" });

我应该怎么做?

编辑:

还有如何在控制台应用程序中显示列表记录?

编辑: 也许我的代码有误:

public class DocConfig
    {
        public string Description { get; set; }
        public List<DocPart> Parts { get; set; }
        DocConfig()
        {
            var doc = new DocConfig();
            doc.Description = "bla bla";
            doc.Parts.Add(new DocPart { Title = "aaa", TexLine = @"\include{aaa.tex}" });
            doc.Parts.Add(new DocPart { Title = "bbb", TexLine = @"\include{bbb.tex}" });
            this.Parts = new List<DocPart>()
                foreach (Part part in doc.Parts)
                       {
                Console.WriteLine(part.Title);
                     }
        }  

将此添加到您的 DocConfig class:

          DocConfig()
          {
               this.Parts= new List<DocPart>();
          }  

并删除

doc.Parts = new List<DocPart>();

还阅读了有关 constructors 的内容,您的其余部分都很好。

EDIT:

要在控制台中检查您的列表,您可以使用 foreach 循环,这是与列表一起使用的最佳选择:

foreach (var part in doc.Parts)
        {
            Console.WriteLine(part.Title);
        }