
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(); }}解决方法 编译器永远无法确定手是否已实际初始化.您应该先将其初始化,或将其设置为null,以便绕过此编译器检查. 所以你可以这样做,但事实上这是不好的做法!更改代码时,最终可能会出现NullReferenceException!
String[] hand = null;
你知道你的代码实际上并不起作用,因为你最终会得到一个数组.我想你的意思是:
hand = new String[6];...hand[i] = theValue;总结
以上是内存溢出为你收集整理的C#错误:使用未分配的局部变量全部内容,希望文章能够帮你解决C#错误:使用未分配的局部变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)