【问题标题】:Random Sequence Generator in C#C# 中的随机序列生成器
【发布时间】:2017-07-29 14:55:27
【问题描述】:

我想用 C# 构建一个序列随机化器移动应用程序。我想从两个不同的文本框中检索间隔中的最小和最大数字,然后单击“生成”按钮以在新文本框中显示所有数字的随机序列。

我的代码只显示一个数字。它有什么问题?

谢谢。

 public sealed partial class MainPage : Page
{
    public MainPage()
    {
       this.InitializeComponent();           
    }
   private void button_Click(object sender, RoutedEventArgs e)
    {
        int seed = 345;
        var result = "";
        int min = Convert.ToInt32(textBox.Text);
        int max = Convert.ToInt32(textBox2.Text);
       Random r3 = new Random(seed);
        for (int i = min; i < max; i++)
        {
            ecran.Text = (/*"," + r3.Next(min, max)*/i).ToString();
        }
    }

【问题讨论】:

    标签: c# visual-studio mobile random


    【解决方案1】:

    澄清您的解决方案出了什么问题:

    在循环中,您不断地重新分配 ecran.Text 的值。

    1st loop cycle      > ecran.Text = ", " + 77
    2nd loop cycle      > ecran.Text = ", " + 89
    
    //Value of ecran.Text after 1st cycle is ", 77"
    //Value of ecran.Text after 2nd cycle is ", 89"
    

    在每次迭代时覆盖 ecran.Text 的值。

    通过在等于ecran.Text += ", " + LOGIC前面添加一个加号来修复

    【讨论】:

      【解决方案2】:

      这是因为您在循环中将序列值分配给ecran.Text。相反,您应该创建序列的字符串表示形式,并在最后分配它。

      使用此问答中的Shuffle&lt;T&gt; 方法:

      int min = Convert.ToInt32(textBox.Text);
      int max = Convert.ToInt32(textBox2.Text);
      if (max < min) return;
      var sequence = Enumerable.Range(min, max-min+1).ToList();
      Shuffle(sequence);
      ecran.Text = string.Join(",", sequence);
      

      【讨论】:

      • 您的解决方案不允许数字重复。也许使用这样的东西会更好:var sequence = Enumerable.Range(min, max - min + 1).Select(i =&gt; r3.Next(min, max));?
      • @AleksAndreev 从 OP 的错误代码看来,他想要一个最小-最大范围内的“所有数字的随机序列”。否则,一个计数就足够了。
      • 谢谢,但我似乎无法让它工作。它用红色的 Shuffle 和 Jon 下划线。
      • @SilviuIsidor 您需要从我链接到问题的问答中复制Shuffle&lt;T&gt;
      • @SilviuIsidor 请参阅我答案最后一行的作业。
      猜你喜欢
      • 1970-01-01
      • 2013-08-13
      • 2011-11-03
      • 1970-01-01
      • 2020-06-07
      • 2011-01-24
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多