错误是在for循环中引起的:
for (i = 0; i < hand.Length; i++) { Console.WriteLine(hand[i]); }
我试图存储值,以便以后显示它们.写作线可以帮助我确保代码实际上按照我的意图运行.
enum house //variable type for the card type { Spades,Hearts,Clubs,Diamonds } enum cards //variable type for the cards { Joker,Ace,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King } class Program { static void Main(string[] args) { Random rnd; Random rnd2; int i; int random; int random2; String[] hand; house randomhouse; cards randomcard; //all declared variables Console.WriteLine("Your hand is made up of :"); for (i = 0; i <= 6; i++)//does everything in the {} until i is equal to 6 { rnd2 = new Random(); random2 = rnd2.Next(0,14); randomcard = (cards)random2; //selecting a random card from joker to king if (randomcard > (int)cards.Joker) //if the random card isn't a joker { rnd = new Random(); random = rnd.Next(0,4); randomhouse = (house)random;//selects a random card type Console.WriteLine(randomcard + " of " + randomhouse); //outputs the name of the card System.Threading.Thread.Sleep(1000);//wait 1 second before getting the new card } else { Console.WriteLine(randomcard);//outputs "Joker" System.Threading.Thread.Sleep(1000);//wait 1 second before getting the new card } hand = new String[i];//making a new array value for every loop hand[i] = randomcard.ToString();//adding randomcard to the array* } Console.Clear(); for (i = 0; i < hand.Length; i++) { Console.WriteLine(hand[i]); } Console.ReadKey(); } }