如何在C#中创建列表的列表。

8 浏览
0 Comments

如何在C#中创建列表的列表。

我正在尝试创建一个列表的列表,其中大列表代表包含一组小列表的论文,小列表代表问题,问题列表由问题字符串和其ID组成。\n这是我的代码:\n

public class Genes
{
    public string question { get; set; }
    public int CLO { get; set; }
} 
   List questiongene = new List();
   List> paper = new List>();

\n现在我成功创建了问题列表,没有错误,但是当我尝试创建更大的列表时,Visual Studio无法识别变量questiontype作为一种类型,出了什么问题?

0
0 Comments

在C#中创建列表的列表是一种常见的需求,可以通过使用List类的泛型版本来实现。上述代码展示了如何创建和遍历一个包含多个子列表的列表。然而,有时候出现了问题,需要找出出现问题的原因并解决它。

问题出现的原因可能是以下几点:

1. 错误的语法:在创建列表的列表时,可能会出现语法错误,例如缺少分号、括号不匹配等。

2. 空引用异常:如果在遍历列表的过程中,子列表为空或者整个列表为空,则可能会出现空引用异常。

3. 逻辑错误:在遍历列表的过程中,可能会出现逻辑错误,导致无法正确地访问子列表中的元素。

解决这些问题的方法如下:

1. 检查语法错误:仔细检查代码中的每个字符,确保没有拼写错误、括号匹配正确等。

2. 添加空引用检查:在遍历列表的过程中,使用条件判断来避免遍历空引用。例如,在遍历之前使用条件判断来检查子列表是否为空。

3. 调试逻辑错误:使用调试工具来逐步执行代码,并观察变量的值和程序的执行流程,以找出逻辑错误的原因。

通过以上方法,可以解决创建列表的列表时可能出现的问题,并确保代码正常运行。

0
0 Comments

问题出现的原因是代码中缺少类型为questiongene的定义,而只有Genes类型的定义。解决方法有两种:一种是创建一个List of Lists,另一种是创建一个新的类型Paper,该类型包含一个List questiongene,并且创建一个Paper的列表。

第一种解决方法是创建一个List of Lists,代码如下:

List> paper = new List>();

第二种解决方法是创建一个新的类型Paper,代码如下:

public class Paper
{
    public List questionGenes { get; set; }
    // 默认构造函数
    public Paper()
    {
         questionGenes = new List();
    }
    // 从List创建Paper的构造函数
    public Paper(List questionGene)
    {
         questionGenes = questionGene;
    }
}

然后创建一个Paper的列表:

List papers = new List();
papers.Add(new Paper(questiongene));

通过以上两种方法,我们可以在C#中创建一个List of Lists或者创建一个包含List questiongene的新类型Paper,并且创建一个Paper的列表。

0
0 Comments

在这段代码中,问题的出现原因是作者想要创建一个包含问题列表的纸张堆栈。每个纸张都包含一个问题列表。原始的建议是使用一个基本的`List>`,但作者认为这样不够清晰。

为了解决这个问题,作者创建了两个类:`Genes`和`Paper`。`Genes`类代表一个单独的问题,包含问题的字符串和CLO属性。`Paper`类代表一张纸,包含一个问题列表。

为了使用这些类,首先需要创建一个纸张堆栈的列表`stackOfPapers`。然后创建一个问题列表`questions`,并向其中添加问题。接下来,创建一个纸张`newPaper`,将问题列表`questions`添加到纸张中。最后,将纸张添加到纸张堆栈中。

除了上述步骤外,还可以使用对象初始化语法来一次性完成所有操作。通过这种方法,可以创建一个包含多个纸张的纸张堆栈,并且每个纸张中都包含两个问题。

通过上述方法,问题得到了解决。现在,作者创建了一个变量`newStackOfPapers`,它包含一个纸张堆栈,每个纸张都包含一个问题列表。这样的代码更清晰易懂。作者承认自己在最初回答问题时可能过于假设OP能够理解代码,现在代码应该更加清晰明了了。

通过创建`Genes`和`Paper`类,以及使用列表和对象初始化语法,我们可以创建一个包含问题列表的纸张堆栈。这种方法更加清晰明了。

0