[英]Generating random questions from a text file - C#
我想为用户提供一系列问题,但我希望它们是随机的,拥有相同问题的问答游戏并不十分有趣。
我的想法是在文本文件中存储大量问题并提供适当的答案:
What colour is an Strawberry|Red
How many corners are there on a Triangle|Three
这意味着我可以简单地随机选择一条线,从该行中读取问题和答案,并将它们存储在要在游戏中使用的集合中。
我想出了一些伪代码,并提出了一种我认为有用的方法,并且正在寻找有关如何改进伪代码的输入:
Random rand = new Random();
int line;
string question,answer;
for(int i = 0; i < 20; i++)
{
line = rand.Next();
//Read question at given line number to string
//Read answer at given line number to string
//Copy question and answer to collection
}
在实现该想法方面,我不确定如何指定要读取的行号以及如何拆分整行并分别读取两个部分。 除非有更好的方法,否则我的想法是在文本文件中手动输入行号,后跟“ |” 所以每一行看起来像这样:
1|What colour is an Strawberry|Red
2|How many corners are there on a Triangle|Three
谢谢你的帮助!
您不想重复显示任何问题,对不对?
Random random = new Random();
var q = File.ReadAllLines("questions.txt")
.OrderBy(x=>random.Next())
.Take(20)
.Select(x=>x.Split('|'))
.Select(x=>new QuestionAndAnswer(){Question=x[0],Answer=x[1]});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.