包含List<>;作为类中的参数

本文关键字:参数 List lt gt 包含 | 更新日期: 2023-09-27 18:21:43

我有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());
            }
        }

例如,我想在开始时创建两个项目的列表。我想到了这个代码:

 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);
                     }
        }  

包含List<>;作为类中的参数

将以下内容添加到您的DocConfig类中:

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

并删除

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

同时阅读有关构造函数的内容,您的coud的其他部分也可以。

编辑:

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

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