标题:各位大侠快来看看,代码请教
只看楼主
wangguixian
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-10
结帖率:0
已结贴  问题点数:20 回复次数:4 
各位大侠快来看看,代码请教
第一个类应该赋值,但是第二个类用到泛型对此完全不懂,在网上百度过,清楚了一点,但是还是朦胧中,希望得到此段代码的详细分析,谢谢大家!
namespace Test
{
    class AIValue
    {
        //定义变量        
        private int _index;
        private int _value;
        //赋值
        public int Index { get { return _index; } }
        public int Value { get { return _value; } }
        //取得value数组中的值
        public AIValue(int index, byte[] value)
        {
            _index = index;
            _value = value[0] + (value[1] << 8);
        }
    }

    class AIColl
    {
        private Dictionary<int, AIValue> _dicAIValue = new Dictionary<int, AIValue>();//泛型
        public void Clear() { _dicAIValue.Clear(); }//为什么要清空?
        public void Add(AIValue z) { _dicAIValue.Add(z.Index, z); }//不太懂,求解
        public AIValue GetAIValue(int index)
        {
            if (!_dicAIValue.ContainsKey(index))
            {
                return new AIValue(index,new byte[10]);//为什么要定义数组长度为10?
            }
            return _dicAIValue[index];
        }
    }

}
搜索更多相关主题的帖子: 代码 
2010-05-10 16:41
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
得分:6 
对dictionay类不太熟,不过这些方法与类本身方法如何定义有关。在语法上没什么可说的。

QQ:81704464
2010-05-10 17:39
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
得分:6 
private Dictionary<int, AIValue> _dicAIValue = new Dictionary<int, AIValue>();//泛型
        public void Clear() { _dicAIValue.Clear(); }//为什么要清空?
        public void Add(AIValue z) { _dicAIValue.Add(z.Index, z); }//不太懂,求解
        public AIValue GetAIValue(int index)
        {
            if (!_dicAIValue.ContainsKey(index))
            {
                return new AIValue(index,new byte[10]);//为什么要定义数组长度为10?
            }
            return _dicAIValue[index];
        }


        public void Clear() { _dicAIValue.Clear(); }//为什么要清空?
答:这个是根据你程序的需要。看你的程序是要干麻的,是否清空完全取决于程序;

        public void Add(AIValue z) { _dicAIValue.Add(z.Index, z); }//不太懂,求解
答:_dicAIValue 是你定义的泛型字典,_dicAIValue(int, AIValue); 第一个存放你的标识, value 是AIValue的实例;

         return new AIValue(index,new byte[10]);//为什么要定义数组长度为10?
答:定义10是看你的数组究竟要放的什么东西,无法解释,只有看程序的作用而来确定长度。


2010-05-10 18:08
wangguixian
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-10
得分:0 
谢谢各位了
2010-05-10 23:48
hainandgm
Rank: 6Rank: 6
等 级:侠之大者
威 望:3
帖 子:111
专家分:475
注 册:2007-6-21
得分:6 
同意3楼
2010-05-11 09:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306077-1-1.html




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

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