private static void Shuffle () { string[] cardType = { '红桃', '黑桃', '方块', '梅花' }; string[] cardValue = { 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K' }; // 所有的卡牌,未打乱状态 List<string> allCard = new List<string>(); // 打乱后的结果 List<string> result = new List<string> (); // 生成52张牌,放到allCard数组里 for (int i = 0; i < cardType.Length; i ) { for (int j = 0; j < cardValue.Length; j ) { allCard.Add(cardType[i] cardValue[j]); } } // 定义随机数 Random random = new Random (); // 循环52次,把未打乱的卡牌数组乱序存到新的数组里 for (int i = 0; i < cardType.Length * cardValue.Length; i ) { // 定义一个随机的下标,范围是 0 ~ 有序数组的长度 int randomIndex = random.Next(0,allCard.Count); // 给新数组赋值,值是未打乱卡牌数组中的随机某个位置 result.Add(allCard[randomIndex]); // 将刚才随机过的下标数据从数组中移除 allCard.RemoveAt(randomIndex); } // 数组乱序数组中的所有数据,测试 foreach (var item in result) { Console.WriteLine (item); } }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。