倾程记 flyby      本站首页     管理页面    写新日志    退出   


[.net]C#中动态数组设计原理
flyby 发表于 2005/7/20 9:30:51

 C#中所有数据类型都来自Object类,所以数组可以存储不同的类型,但是数组对象一旦创建,长度就不可改变,在实际应用中存在不方便之处。下面例程介绍了一种开发动态数组的方法。  /// <summary> /// ObjArray 的摘要说明。 /// 动态数组 /// </summary> /// <example> /// ObjectArray DynArr = new ObjectArray(); /// DynArr.addItem(11); /// DynArr.addItem("12"); /// DynArr.getItem(i); /// DynArr.clearAll(); /// </example> public class ObjArray {  //对象数组  private object[] Items;   //对象数组的长度  public int Length  {   get   {    if(Items == null)     return 0;    else     return Items.Length;   }  }   /// <summary>  /// 构造函数  /// </summary>  public ObjArray()  {   //   // TODO: 在此处添加构造函数逻辑   //   Items = null;  }   /// <summary>  /// 添加一元素  /// </summary>  /// <param name="item">元素</param>  public void addItem(object item)  {   if(Items == null)   {    Items = new object[1];    Items[0] = item;    return;   }   else   {    object[] tmpList = new object[Length+1];    for(int i=0;i<Length;i++)    {     tmpList[i] = Items[i];    }     tmpList[Length] = item;    Items = tmpList;    return;   }  }   /// <summary>  ///  删除一个元素  /// </summary>  /// <param name="index">元素索引</param>  public void deleteItem(int index)  {   if(Items == null)    return;   else   {    //如果索引没有越界    if(index >=0 && index < Length && Length>1)    {     object[] tmpList = new object[Length-1];     for(int i=0;i<index;i++)     {      tmpList[i] = Items[i];     }     for(int i=index+1;i<Length;i++)     {      tmpList[i-1] = Items[i];     }      Items = tmpList;     return;    }    else    {     if(index == 0 && Length<=1)     {      Items = null;      return;     }     else      return;    }   }  }   /// <summary>  /// 读取元素  /// </summary>  /// <param name="index">元素索引</param>  /// <returns>一个元素</returns>  public object getItem(int index)  {   if(Items == null)    return null;   else   {    if(index >= 0 && index < Length)     return Items[index];    else     return null;   }  }   /// <summary>  /// 清空数组  /// </summary>  public void clearAll()  {   Items = null;  } }

阅读全文(8691) | 回复(1) | 编辑 | 精华

回复:C#中动态数组设计原理
翻口皮(游客)发表评论于2006/5/20 3:22:58

学习,原来通过建立临时数组就可以得到一个动态的数组了。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
» 1 »

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

 
«December 2025»
123456
78910111213
14151617181920
21222324252627
28293031

  公告

此Blog中的文章仅代表本人当时观点,不对其正确性做任何担保。转载原创,请知会作者。QQ  MSN


  我的分类(专题)
  最近日志

  最新评论

  留言板

  链接

  Blog信息

blog名称:倾程记
日志总数:27
评论数量:72
留言数量:-3
访问次数:234684
建立时间:2005年7月8日



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

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