彩票随机号码生成逻辑
因朋友有买彩票的习惯,故有了如下的代码片段:
#region DLT List<int> DLT_List_Red, DLT_List_Blue; /// <summary> /// DLT生成工具 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DLT_gene_Click(object sender, RoutedEventArgs e) { /** * 1.Red:35-5; * 2.Blue:12-2; */ /*1.初始化*/ DLT_List_Red = new List<int>(); DLT_List_Blue = new List<int>(); for (int i = 1; i <= 35; i++) { DLT_List_Red.Add(i); } for (int i = 1; i <= 12; i++) { DLT_List_Blue.Add(i); } DLT_textBox_nums.Clear(); for (int i = 1; i <= 35; i++) { GetControlObject<TextBox>("DLT_t" + i).Foreground = Brushes.Black; } for (int i = 1; i <= 12; i++) { GetControlObject<TextBox>("DLT_t" + i + "_copy").Foreground = Brushes.Black; } /*2.gene red*/ var array_red = new int[5]; for (int i = 1; i <= 5; i++) { var index=r.Next(35-i+1); array_red[i-1] = DLT_List_Red[index]; DLT_List_Red.RemoveAt(index); } array_red = (array_red.OrderBy(x => x)).ToArray<int>(); foreach (int i in array_red) { GetControlObject<TextBox>("DLT_t" + i).Foreground = Brushes.Yellow; } /*3.gene blue*/ var array_blue = new int[2]; for (int i = 1; i <= 2; i++) { var index = r.Next(12 - i + 1); array_blue[i - 1] = DLT_List_Blue[index]; DLT_List_Blue.RemoveAt(index); } array_blue = (array_blue.OrderBy(x => x)).ToArray<int>(); foreach (int i in array_blue) { GetControlObject<TextBox>("DLT_t" + i + "_copy").Foreground = Brushes.Yellow; } /*测试输出*/ DLT_textBox_nums.Text = "Red:"; foreach (var i in array_red) { var str = i < 10 ? $"0{i}" : i.ToString(); DLT_textBox_nums.Text += $"{str},"; } DLT_textBox_nums.Text = DLT_textBox_nums.Text.TrimEnd(','); DLT_textBox_nums.Text += "\nBlue:"; foreach (var i in array_blue) { var str = i < 10 ? $"0{i}" : i.ToString(); DLT_textBox_nums.Text += $"{str},"; } DLT_textBox_nums.Text = DLT_textBox_nums.Text.TrimEnd(','); try { Clipboard.SetText(DLT_textBox_nums.Text); } catch { } } #endregion