| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 755 人关注过本帖
标题:未将对象引用设置到对象的实例。不知道哪里错了?
只看楼主 加入收藏
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
未将对象引用设置到对象的实例。不知道哪里错了?
ClassLibrary.rar (44.3 KB)
还请有时间的朋友看看
搜索更多相关主题的帖子: 朋友 
2011-10-12 21:57
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
收藏
得分:0 
书上的一个列子,照着做的,有个错误,由于初学,找了很长时间没找到,麻烦各位了
2011-10-12 21:59
clhc
Rank: 6Rank: 6
等 级:侠之大者
帖 子:69
专家分:441
注 册:2011-10-11
收藏
得分:10 
程序代码:
        public void Shuffle()
        {
          //  throw new System.NotImplementedException();
            Card[] newDeck=new Card[52];
            bool[] assigned=new bool[52];
            Random sourceGen=new Random();
            for (int i = 0; i < 52; i++)
            {
                int destCard = 0;
                bool foundCard = false;
                while (foundCard == false)
                {
                    destCard = sourceGen.Next(52);
                    if (assigned[destCard] == false)
                        foundCard = true;
                }
                assigned[destCard] = true;
                newDeck.CopyTo(cards, 0);
            }
        }
你这个洗牌的方法写错了 你首先声明了 Card[] newDeck; 这时里边所有的Card对象都还没有实例化 也就是都等于null 你可以
for(int i=0;i<newdeck.length; i++) newdeck[i] = new card(); 这样就不会报错了 但你的代码逻辑起不到洗牌的作用

试试这个代码
程序代码:
        public void RightShuffle(int ct)
        {
            for (int i = 0; i < ct; i++)
            {
                Random rdm = new Random();
                int a = rdm.Next(52);
                int b = rdm.Next(52);

                Card cd = cards[a];
                cards[a] = cards[b];
                cards[b] = cd;
            }
        }
2011-10-12 22:21
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
收藏
得分:0 
回复 3楼 clhc
非常感谢!!!
2011-10-17 19:15
快速回复:未将对象引用设置到对象的实例。不知道哪里错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023518 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved