本站首页    管理页面    写新日志    退出


 

 

 


最新日志

练车
今天是2011年07月02号
温馨
CInternetSession 类
CHttpFile实现Get/Post
在MFC中加一个控制台DOS界面
strtol 函数
outputParam
有关CTime和ColeDateTime
variant_t ,_bstr_t 与

 


 

最近的评论

回复:CHttpFile实现Get/Po
回复:好久没有来了
回复:参数自整定的模糊PID
回复:电子设计大赛自由命题可参考的题目
回复:数字万用表使用方法
回复:公交车上巨搞笑的一幕
回复:电子设计大赛自由命题可参考的题目
回复:电子设计大赛自由命题可参考的题目
回复:电子设计大赛自由命题可参考的题目
回复:暑假回来

 


 

连接




    

indexer的小悟
sccwqiang 发表于 2008/3/18 15:52:14

using System;using System.Collections; class courseData{ private string m_Name; private int m_ID; private int m_Grade;  public string Name {  get{ return m_Name;}  set{ m_Name=value;} } public int id {  get{ return m_ID;}  set{ m_ID=value;} } public int grade {  get {return m_Grade; }  set { m_Grade=value;} } public courseData(string name,int id,int grade) {  this.Name=name;  this.id=id;  this.grade=grade; } public courseData() {   }} class courseGradeIndexor{ private ArrayList arrlist=new ArrayList(); private courseData []cD=new courseData[5]; //对ARRAYLIST的索引器 public int this[string name,int id] {  get  {   foreach(courseData cd in arrlist)   {    if(cd.Name==name && cd.id==id)    {     return cd.grade;    }   }   return -1;  }  set  {   arrlist.Add(new courseData(name,id,value));  } } public ArrayList this[string name] {  get  {   ArrayList relist=new ArrayList();   foreach(courseData cd in arrlist)   {    if(cd.Name==name)    {     relist.Add(cd);    }       }   return relist;  } } //对对象数组的索引器 public int this[string name,int id,int index] {  get  {   if(cD[index].Name==name && cD[index].id==id)    return cD[index].grade;   else    return -1;  }  set  {   cD[index]=new courseData(name,id,value);  } } private ArrayList objectArray=new ArrayList(); public ArrayList this[string name,long Name] {  get  {   for(int i=0;i<cD.Length;i++)   {    objectArray.Add(cD[i]);   }   return objectArray;  } }}   class test{ static void Main() {  courseGradeIndexor index=new courseGradeIndexor();  index["王海:",1]=100;  index["王海:",2]=90;  index["王海:",3]=99;    ArrayList test=new ArrayList();  test=index["王海:"];    foreach(courseData cd in test)  {   Console.WriteLine("姓名: "+cd.Name+"   代号:" +cd.id.ToString()+"   成绩:"+cd.grade.ToString());  }  Console.ReadKey();    index["陈强:",1,0]=91;  index["陈强:",2,1]=90;  index["陈强:",3,2]=97;  //  Console.WriteLine("Now this is the Object indextor:.....");//  Console.WriteLine("你所查找的结果:  "+index["陈强:",2,1]);  ArrayList objectArray=new ArrayList();  objectArray=index["陈强:",(long)1];  Console.WriteLine("Now this are the Object indextor:.....");  try  {   foreach(courseData cd in objectArray)   {    Console.WriteLine("姓名: "+cd.Name+"   代号:" +cd.id.ToString()+"   成绩:"+cd.grade.ToString());   }        }    catch(Exception)  {   Console.WriteLine(new Exception().Message);  }    finally {Console.ReadKey();} }}小结:属性:用于封装字段.  索引器:用于封装数组.  委托:用于封装方法.   要想用属性因为其目的,所以先定义一个字段,然后在属性中操纵此字段.要用索引器,那就先定义一个数组,然后在索引器中操纵它.我认为索引器是特殊的属性.                  

阅读全文(1365) | 回复(0) | 编辑 | 精华


发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 

 

 


站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144770711 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号