c# - 如何对 35 个数字中的 7 个随机列表进行排序?
问题描述
我想创建一个乐透游戏并从 C# 中的 35 个数字中随机选择 7 个不同的数字。这就是我在代码中所做的,但我不明白如何按升序对数字进行排序。我所做的是从一个包含 35 个数字的列表中挑选出 7 个数字,现在我很困惑,所以我需要帮助,至少让我换一种思维方式。如果有人能帮我解决这个问题,我会很高兴。我意识到我把它的命名搞砸了。那就是(例如)我创建了一个列表(winningNumber),其中包含我想要排序的 7 个随机数之外的所有数字,但现在我需要帮助来整理我凌乱的想法。
这是代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Random_Lotto_Number_2021_05_28_SMART
{
class Program
{
static void Main(string[] args)
{
Random rndLottoNumber = new Random();
List<int> winningNumber = new List<int>();
for (int i = 1; i <= 35; i++)
winningNumber.Add(i);
for (int i = 0; i < 7; i++)
{
int drawnNumber = rndLottoNumber.Next(winningNumber.Count);
//Console.ReadLine();
Console.Write(winningNumber[drawnNumber] + ",");
winningNumber.RemoveAt(drawnNumber);
}
Console.WriteLine($"\nThe list contains {winningNumber.Count}");
foreach(int num in winningNumber)
{
Console.Write(num + ",");
}
Console.ReadLine();
}
}
}
解决方案
您可以简单地将您的“幸运”抽奖号码添加到一个新列表中,然后对该列表进行排序,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class Program
{
public static void Main()
{
Random rndLottoNumber = new Random();
List<int> winningNumber = new List<int>();
List<int> drawnNumberList = new List<int>();
for (int i = 1; i <= 35; i++)
winningNumber.Add(i);
for (int i = 0; i < 7; i++)
{
int drawnNumber = rndLottoNumber.Next(winningNumber.Count);
// Add numbers to list
drawnNumberList.Add(winningNumber[drawnNumber]);
//Console.ReadLine();
Console.Write(winningNumber[drawnNumber] + ",");
winningNumber.RemoveAt(drawnNumber);
}
Console.Write("\nThe list contains ");
Console.WriteLine(winningNumber.Count);
foreach(int num in winningNumber)
{
Console.Write(num + ",");
}
Console.WriteLine();
// Sort the list
drawnNumberList.Sort();
foreach(int num in drawnNumberList)
{
Console.Write(num + ",");
}
}
}
帮助解决这些问题的一种方法是在一张老式纸上写下您正在尝试做的事情,写出流程图或伪代码。当我试图围绕一个编程问题整理我的想法时,我已经无数次使用过这个。
推荐阅读
- sql-server - 无法在 Visual Studio 上安装 SQL Server 集成服务
- excel - 如何生成随机字符串RANDBETWEEN?
- javascript - 事件 onclick [javascript] 后在 textarea 中保留选定的高亮显示
- amazon-web-services - 为不同客户隔离 CloudWatch 指标
- sql - DB2 SQL - 如何显示过去 12 周的计数,每周都有自己的列
- android - 如何创建一个布局,如谷歌日历应用程序的“1 天”视图
- android - 接受从 kotlin 中的泛型继承的所有类的函数
- swift - Swift - 水平居中 UICollectionView 单元格不起作用
- yaml - 如何调试 Helm 图表错误,例如“将 YAML 转换为 JSON 时出错:yaml:在此上下文中不允许映射值”?
- java - 为什么 java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap 不能转换为 com.readbook.chinesepoetry.data.model.Response?