C#尝试将一个类中的问题列表放入我的Main()类循环中

C#尝试将一个类中的问题列表放入我的Main()类循环中,c#,C#,我试图调用从一个类中生成的问题,然后将它们实现到我的Main()方法中。我遇到的问题是在我的Main()方法中读取列表并循环 到目前为止,它是这样写的: static void Main(string[] args) { List<string> askQuestions = Questions(); for (int i = 0; i < 2; i++) { Console.WriteLine(askQuestions[i]);

我试图调用从一个类中生成的问题,然后将它们实现到我的
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

}
static List<string> Questions()
{
    List<string> question = new List<string>();
    question.add("q1");
    question.add("q2");
    //etc
    return question;
}
static void Main(字符串[]args)
{
列出askQuestions=Questions();
对于(int i=0;i<2;i++)
{
Console.WriteLine(askQuestions[i]);
}
}
静态无效问题()
{
列表问题=新列表();
问题。添加(“q1”);
问题。添加(“q2”);
//等
}

我知道如果我只在Main()类中包含列表,我可以让它工作,但是实际的程序将有数百个问题,我正在努力使它看起来更可读

首先,为方法的变量result赋值,它没有返回类型!所以它不会返回任何内容,所以您不能将该方法的结果赋给变量

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

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

}
static List<string> Questions()
{
    List<string> question = new List<string>();
    question.add("q1");
    question.add("q2");
    //etc
    return question;
}
静态列表问题()
{
列表问题=新列表();
问题。添加(“q1”);
问题。添加(“q2”);
//等
返回问题;
}

为什么不直接返回列表:

    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;

    }
static void Main(字符串[]args)
{
列出askQuestions=Questions();
对于(int i=0;i<2;i++)
{
Console.WriteLine(askQuestions[i]);
}
}
静态列表问题()
{
列表问题=新列表();
问题。添加(“q1”);
问题。添加(“q2”);
//等
返回问题;
}

我将按照其他答案中的建议,开设一门问题课。如果问题的属性不止这些,如果您不需要,那么类似的内容可以帮助您:

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;
}
static void Main(字符串[]args)
{
列出问题=问题();
问题?.ForEach(Console.WriteLine);
}
私有静态列表问题()
{
列表问题=新列表{“q1”、“q2”、“q3”};
回答问题;
}
您的“Questions”方法的返回类型为void,请将返回类型更改为list of type string并添加一条返回语句

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

  question.add("q1");

  question.add("q2");

  //etc
  return question;
}
静态列表问题()
{
列表问题=新列表();
问题。添加(“q1”);
问题。添加(“q2”);
//等
返回问题;
}

问题的返回对象method@HimBromBeere好吧,这个方法现在返回
List
,但是答案和我的没有什么不同。