как пермешать рандомно массив
Не совсем понял правильно ли я реализовал метод шафла карт Нашел в интеренете шафлы попробывал реализовать получилось как то так так же как после этого шафла вывести первую карту с колоды буду рад если кто то обьяснит правильно ли я реализовал Шафл и поможет вывести мне этот результат шафла в коде с обьяснением namespace
public class Deck : Card
{
private readonly Card[] _cards = new Card[52];
public Deck()
{
int y = 0;
foreach (var rank in Card.Ranks)
{
foreach (var suit in Card.Suits)
{
_cards[y] = new Card(rank, suit);
y++;
}
}
}
public void Shaffle() /// метод шафла
{
Random random = new Random();
for (int i = _cards.Length - 1; i >= 1 ; i--)
{
int j = random.Next(i + 1);
var tmp = _cards[j];
_cards[j] = _cards[i];
_cards[i] = tmp;
}
}
public void TakeCard( ) /// Тут нужно вывести уже как пользователь берет за шафленую карту
{
Console.WriteLine();
}
}
namespace Lesson_20.Classes;
public class Card
{
public static readonly string[] Ranks = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" };
public static readonly string[] Suits = { "\u2660 ", "\u2665 ", "\u2666 ", "\u2663 " };
private readonly string _rank;
private readonly string _suit;
public Card(string rank, string suit)
{
_rank = rank;
_suit = suit;
}
protected Card()
{
}
public override string ToString()
{
return $"{_rank}{_suit}";
}
}
namespace Lesson_20;
class Program
{
static void Main(string[] args)
{
Deck deck = new Deck();
deck.TakeCard();
}
}