【问题标题】:List of List<>?列表<>的列表?
【发布时间】:2011-12-22 12:02:55
【问题描述】:

我定义了一个名为 ScheduleSlot 的类 - 我在我的“调度程序”应用程序中使用每行的 ScheduleSlot 列表。但我必须有几行。是否可以有list&lt;ScheduleSlot&gt;?的列表?

【问题讨论】:

    标签: c# .net wpf list


    【解决方案1】:

    是的,它的类型为List&lt;List&lt;ScheduleSlot&gt;&gt;。

    【讨论】:

    • 非常感谢!!那么 - 如果我想引用此列表中包含的列表之一怎么办?例如,我可能想也可能不想引用名为“day1”的列表,即 day1 可能存在也可能不存在,具体取决于用户设置。
    • 您始终可以将它们初始化为空。否则,使用处理此问题的访问器函数创建一个类包装器。
    • 这让我很困惑,很抱歉,对此还是很陌生。为了简化我的问题-假设我知道它肯定存在,我如何访问此列表中的列表?所以我已经添加了这个线程中描述的列表,现在我该如何引用它?
    • @DanielMcNulty:您可以通过索引访问:例如,listOfLists[0] 获取第一个列表。 listOfLists[2][1] 将是第三个列表中的第二个项目。
    • 非常感谢伙计,不胜感激。不过我想我现在要选择一本字典。
    【解决方案2】:
    var a = new List<List<ScheduleSlot>> ();
    

    记住第一个列表是空的。添加:

    a.Add (new List<ScheduleSlot> ());
    

    然后

    a[0].Add (new ScheduleSlot());
    

    【讨论】:

    • 非常感谢。添加一个列表似乎相当简单 - 但我如何从这个列表中检索一个列表??
    • a[0][0] 或 foreach (var outerList in a) foreach (var innerList in outerList)
    • 假设我给列表命名。所以我有: List newList = new List(); ListOfLists.Add(newList);我可以在我的代码中引用“newList”吗??
    • @DanielMcNulty,如果您想为列表命名,最好使用字典。
    • 是的,我明白你的意思了,太棒了,非常感谢这里的所有回复!
    【解决方案3】:

    是的,你可以。

    List<List<ScheduleSlots>> nList = new List<List<ScheduleSlots>>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多