随机播放 1 到 4 数字,不重复并与用户输入进行比较

本文关键字:用户 输入 比较 播放 数字 随机 | 更新日期: 2023-09-27 18:37:08

我已经四处寻找解决方案,但我无法理解那些复杂的细节算法,因为我对 C# 相当陌生,现在我正在尝试创建这个程序。我希望随机数生成器生成 1 到 4,并且它不会重复相同的数字到 4 个不同的文本框,但当我执行如下代码时:-

        Random random = new Random();
        var numberNo = Enumerable.Range(1, 4);
        var shuffled = numberNo.OrderBy( a => random.NextDouble());
        txtrnd1.Text = String.Join("",shuffled);
        txtrnd2.Text = String.Join("",shuffled);
        txtrnd3.Text = String.Join("",shuffled);
        txtrnd4.Text = String.Join("",shuffled);

我得到的结果是(对于 4 文本框:文本框 1 将显示"1342",文本框 2 将显示"1234"等)但是我想要的 4 文本框的结果是在 4 个不同的文本框中(例如 Textbox1 将显示"1"文本框 2 将显示"2"等),以便我可以将其与我在另一个程序中所做的用户输入进行比较

        int intrandomnumber1;
        Random randomnumber = new Random();
        intrandomnumber1 = randomnumber.Next(1, 10);
        userinput1.Text = Convert.ToString(intrandomnumber1);
感谢

任何帮助,提前感谢!

随机播放 1 到 4 数字,不重复并与用户输入进行比较

如果您查看每个文本框中的文本,您会注意到它们都包含随机排列的 1-4 个完整列表。因此,您应该循环访问一次shuffled以获取列表。

最简单的方法是从可枚举项创建一个System.Collections.Generic.List<int>

List<int> shuffledList = new List<int>(shuffled);