C# 添加列表/列表到数据类实例

标签 c#

对 C# 很陌生,我正在尝试创建一个节点数据列表,其中包含链接数据的可变列表长度。

  class Data
{
    public List<Node> Node { get; set; }
}

public class Node
{
    public string viewer { get; set; }
    public int viewerId { get; set; }
    public string log { get; set; }
    public List <Link> Link { get; set; }
}

public class Link
{
    public string keyName { get; set; }
    public int value { get; set; }

我有一个 for 循环遍历配置的节点和一个内部 for 循环 获取任何已配置的链接。

Data data = new Data();
data.Node = new List<Node>();

我正在为每个新节点执行以下操作,它按照我想要的方式工作。

 data.Node.Add( new Node {
                    viewer = setup.Device[moduleNr].viewer,
                    viewerId = setup.Device[moduleNr].viewerId ,
                    log = setup.Device[moduleNr].log
                    // how to add one or more lists of Link to this list???                       
                });

我遇到的问题是在现有数据中添加一个/多个新列表。节点???

最终我想实现以下目标 -

data
|->Node
       |->[0]
           |->Link
                 |->[0]
                     |->keyname
                     |->value
                 |->[1]
                     |->keyname
                     |->value
                 |->[2]
                     |->keyname
                     |->value
           |->log
           |->viewerId
           |->viewer

    |->[1]
           |->Link
                 |->[0]
                     |->keyname
                     |->value
                 |->[1]
                     |->keyname
                     |->value

           |->log
           |->viewerId
           |->viewer
        |->[2]
           |->Link
                 |->[0]
                     |->keyname
                     |->value
           |->log
           |->viewerId
           |->viewer

非常感谢您对此问题的帮助 - 谢谢

最佳答案

您可以添加 List<Link> 的新实例像这样并使用构造函数添加新项目:

data.Node.Add(new Node {
                  viewer = setup.Device[moduleNr].viewer,
                  viewerId = setup.Device[moduleNr].viewerId ,
                  log = setup.Device[moduleNr].log,
                  Link = new List<Link>
                  {
                      new Link
                      {
                          keyName = "Link 1",
                          value = 0
                      },
                      new Link
                      {
                          keyName = "Link 2",
                          value = 1
                      }
                  }     
              });

关于C# 添加列表/列表到数据类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319808/

相关文章:

c# - 什么是 MVVM 处理 “insertion” 的正确方法

c# - ASP.NET C# 图形路径形状

c# - 无法加载文件或程序集 GalaSoft.MvvmLight

c# - 不确定在哪里捕获异常、验证和消息 'file is still processing'

c# - Autofac - 内存泄漏

c# - visual studio 2015 发布输出 setup.exe 有错误

c# - 如何将参数传递给Azure函数

c# - 如何使用从.csv文件读取的数据多次运行测试(数据驱动)

c# - 将 OperationCanceledException 关联到 CancellationToken 的正确方法

c# - 无法加载文件或程序集'System.Threading.Tasks.Extensions,版本 = 4.2.0.0