C# 向用户显示一个随机字符串,并将其与用户选择的答案进行比较

C# 向用户显示一个随机字符串,并将其与用户选择的答案进行比较,c#,arrays,C#,Arrays,我想做一个想成为百万富翁的游戏 我有15txt代表等级,每个等级我有3个问题,例如: 巴西首都在哪里里约热内卢| | | | | | | | |圣保罗| | | | | | |巴西利亚|| 圣光武士四重奏|| 葡萄牙体育俱乐部在哪里运动场| | | |世界语二十一世| | |阿尔瓦莱德二十一世| |莱奥二十一世| |阿尔瓦莱德二十一世|| 对不起,是葡萄牙语的 我现在所拥有的: 字符串[][]pergresp=File.ReadLinesl1.txt.Selects=>s.Split'|'.To

我想做一个想成为百万富翁的游戏

我有15txt代表等级,每个等级我有3个问题,例如:

巴西首都在哪里里约热内卢| | | | | | | | |圣保罗| | | | | | |巴西利亚|| 圣光武士四重奏|| 葡萄牙体育俱乐部在哪里运动场| | | |世界语二十一世| | |阿尔瓦莱德二十一世| |莱奥二十一世| |阿尔瓦莱德二十一世||

对不起,是葡萄牙语的

我现在所拥有的:

字符串[][]pergresp=File.ReadLinesl1.txt.Selects=>s.Split'|'.ToArray; 将问题放在[0][0]、[1][0]、[2][0]上。 答案在[0][1]、[0][2]、[0][3]、[0][4]上,正确答案在[0][5]上

如何向用户显示三个随机问题中的一个,以及如何将用户的选择与正确的选择进行比较


谢谢

创建表示问题实体的类

public class Question
{
    public string What { get; set; }
    public string[] Answers { get; set; }
    public string Correct { get; set; }

    public bool IsCorrect(string answer)
    {
        if (answer.Equals(Correct, StringComparison.OrdinalIgnoreCase))
            return true;

        return false;
    }
}
并解析文件中的问题

class Program
{
    static void Main(string[] args)
    {
        var quest = File.ReadLines("l1.txt").Select(ProcessLine).ToArray();
        var rnd = new Random();            
        int questionNum = rnd.Next(0, quest.Length - 1);
        Question question = quest[questionNum];
        Console.WriteLine(quest[questionNum].What);

        // Get the user input
        //if(question.IsCorrect(userAnswer))
        //    Console.WriteLine("Win");
        //else
        //    Console.WriteLine("Try again");
    }

    private static Question ProcessLine(string s)
    {
        var tokens = s.Split('|');

        if (tokens.Length <= 2)
            throw new ArgumentException("Invalid question");

        return new Question()
        {
            What = tokens[0],
            Answers = tokens.Skip(1).Take(tokens.Length - 2).ToArray(),
            Correct = tokens[tokens.Length - 1]
        };
    }
}

你应该知道班普在想什么。代码中也会有一些bug,所以请调试它们。

为什么不让事情变得更简单,创建问题对象,将问题、答案和正确答案作为属性?我喜欢OOP方法。考虑使用类似IsHealTrStReq的答案,而不是CuffSouthReScript答案——更好地描述意图。