C#试图从一个类的问题列表进入我的Main()类循环

时间:2018-12-13 09:52:48

标签: c#

我试图调用由一个类组成的问题,然后将其实现到我的Main()方法中。我遇到麻烦的部分是在我的Main()方法中读取并循环了列表。

到目前为止,它看起来像这样:

static void Main(string[] args)
{
    List<string> askQuestions = Questions();

    for (int i = 0; i < 2; i++)
    {
        Console.WriteLine(askQuestions[i]);

    }
}

static void Questions()
{
    List<string> question = new List<string>();

    question.add("q1");

    question.add("q2");

    //etc

}

我知道,只要将列表包含在Main()类中,我就可以使它工作,但是实际程序将有数百个问题,并且我试图使其看起来更具可读性。

4 个答案:

答案 0 :(得分:4)

首先,您为方法的变量结果赋值,该方法没有返回类型!因此它不会返回任何内容,因此您无法将该方法的结果分配给变量。

但是您的意图显然是在该方法中返回List,因此您应该这样编写方法:

static List<string> Questions()
{
    List<string> question = new List<string>();
    question.add("q1");
    question.add("q2");
    //etc
    return question;
}

答案 1 :(得分:3)

为什么不直接返回列表:

    static void Main(string[] args)
    {
        List<string> askQuestions = Questions();

        for (int i = 0; i < 2; i++)
        {
            Console.WriteLine(askQuestions[i]);

        }
    }

    static List<string> Questions()
    {
        List<string> question = new List<string>();

        question.Add("q1");

        question.Add("q2");

        //etc

        return question;

    }

答案 2 :(得分:0)

如果属性不仅仅是问题,我将按照其他答案中的建议进行问题分类,如果您不需要它,那么类似的方法可以为您提供帮助:

static void Main(string[] args)
{
    List<string> questions = Questions();

    questions?.ForEach(Console.WriteLine);
}

private static List<string> Questions()
{
    List<string> questions = new List<string> {"q1", "q2", "q3"};

    return questions;
}

答案 3 :(得分:0)

您的“问题”方法的返回类型为空,将返回类型更改为字符串类型列表并添加一个返回语句。

static List<string> Questions()
{
  List<string> question = new List<string>();

  question.add("q1");

  question.add("q2");

  //etc
  return question;
}