c# - 在 C# 中将列表列表作为类使用

标签 c# winforms

我创建了以下类来组织一些我需要保存到文本文件中的变量:

public class ListOfVariablesToSave : List<List<Tuple<string, int, string>>>
{
    public List<Tuple<string, int, string>> control { get; set;}
    public List<Tuple<string, int, string>> interaction { get; set;}

    public ListOfVariablesToSave()
    {
        control = new List<Tuple<string, int, string>>
        {
            Tuple.Create("/YD/YDC/MCSTEP", 0, ""),
            Tuple.Create("/YD/YDC/NCSTEP", 0, ""),
            Tuple.Create("/YD/YDC/DCSTEC", 0, ""),
            Tuple.Create("/YD/YDC/DCTIME", 0, ""),
            Tuple.Create("/YD/YDC/ICOUTF", 0, ""),
            Tuple.Create("/YD/YDC/ICSHTF", 0, "")
        };

        interaction = new List<Tuple<string, int, string>>
        {
            Tuple.Create("/YD/YDI/MICOUP", 0, ""),
            Tuple.Create("/YD/YDI/NICOUP", 0, ""),
            Tuple.Create("/YD/YDI/DIEZON", 0, ""),
            Tuple.Create("/YD/YDI/I1IECN", 1, ""),
            Tuple.Create("/YD/YDI/I1IECT", 1, ""),
            Tuple.Create("/YD/YDI/MISTATE", 0, "")
        };
    }
}

但是,当我创建一个实例时:

ListOfVariablesToSave myListOfVariablesToSave = 
    new ListOfVariablesToSave();

我得到没有元素的列表(计数 = 0)。特别是,当我尝试使用以下代码访问列表时:

foreach (List<Tuple<string, int, string>> DB in myListOfVariablesToSave)
{
    foreach (Tuple<string, int, string> varToSave in DB)
    {
        // DO SOMETHING.
    }
}

没有任何反应,因为(外部)列表是空的。我错过了什么?如何访问外部列表中的列表?

最佳答案

这是因为你继承了列表,但你没有在构造函数中放入任何东西。如果您希望创建的两个项目可用,请将这两行添加到构造函数的末尾:

Add(control);
Add(interaction);

关于c# - 在 C# 中将列表列表作为类使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552829/

相关文章:

c# - 在 C# 中循环字典

c# - 如何获取 WinForm 应用程序中最顶层窗体的句柄?

c# - 防止设置控件的 Size 属性?

c# - 为什么在初始加载 DataGridViewComboBoxColumn 时显示空值

c# - 新 Async/Await 命令中的中间结果

c# - 使用 libtiff.net 编写大量 TIFF 页面的有效方法

c# - Web API 和取消 token

c# - 为什么这个没有特殊字符的正则表达式匹配更长的字符串?

c# - 在文本框中获取前 10 行和后 10 行 C#

wpf - 开口WPF用户控件的winform窗口缩小父的winform窗口