【发布时间】:2017-09-20 10:36:05
【问题描述】:
对 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
非常感谢您对这个问题的帮助 - 谢谢
【问题讨论】:
-
通常你知道你要添加的节点,而不是 data.node 你使用 nodewhatever ..
-
类似
new Node { theproperties..., Link = new List<Link> { link1, link2 ... }}的内容另见stackoverflow.com/questions/25919818/… 以在初始化时将项目添加到您的列表中。 -
作为旁注,我可以建议您将列表节点重命名为节点,并将列表链接重命名为链接。这是惯例并提高了可读性。您是否还考虑过为链接使用字典,因为它们包含键名、值对?
-
"如何将一个或多个链接列表添加到此列表" 我猜你的意思是:**如何将一个或多个链接元素添加到名为链接的列表中?=!对吗?
标签: c#