C#linq for add方法中的循环

时间:2016-01-23 20:47:41

标签: c# linq

是否可以在add方法中使用for循环? 这是我的代码,我想在每个问题中添加四个答案:

 for (int i = 0; i < 40; i++)
        {
           Questions.Add(new Question
            {
                QuestionString = GlobalClass.RandomString(40),
                Answers = new List<Answer>() {
                 for(int j = 0; j<4; j++){
                  new Answer { } ...
                 }
                } 
            });
        }
像这样的事情。我知道还有其他方法,但只要有可能就感兴趣

2 个答案:

答案 0 :(得分:3)

您可以使用Enumerable.Range

for (int i = 0; i < 40; i++)
{
    Questions.Add(new Question
    {
        QuestionString = GlobalClass.RandomString(40),
        Answers = Enumerable.Range( 0,4 ).Select( x=>new Answer {
            Id = x
        }).ToList()
    });
}

答案 1 :(得分:0)

例如,您可以使用提到的Enumerable.Range

new List<Answer>(Enumerable.Range(0, 4).Select(i => new Answer { ... }));

但是请不要使用这样的结构,这很难调试。