C#中动态数组用法实例

本文实例讲述了C#中动态数组用法。分享给大家供大家参考。具体分析如下:

ArrayList是一种动态数组,其容量可随着我们的需要自动进行扩充.

ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间.

下面,我们还是在Student类的基础上利用ArrayList操作,从而了解ArrayList的用法

public class Student
{
  public Student(){}
  public Student(String name,int age,String hobby)
  {
   this.Name = name;
   this.Age = age;
   this.Hobby = hobby;
  }
  private String name;
  public String Name
  {
   get{return name;}
   set{name = value;}
  }
  private int age;
  public int Age
  {
   get{return age;}
   set{age = value;}
  }
  private String hobby;
  public String Hobby
  {
   get{return hobby;}
   set{hobby = value;}
  }
  public void say()
  {
   Console.WriteLine("大家好,我是'{0}',今年{1}岁,我喜欢'{2}'",
   this.Name,this.Age,this.Hobby);
  }
}

编写测试类,了解ArrayList的方法

using System.Collections;
public class TestStudent
{
   public static void main(String args [])
   {
   //建立ArrayList对象
   ArrayList students = new ArrayList();
   //实例化几个Student类对象
   Student rose = new Student("rose",25,"reading");
   Student jack = new Student("jack",28,"singing");
   Student mimi = new Student("mimi",26,"dancing");
   //利用ArrayList类的add()方法添加元素
   students.add(rose);
   students.add(jack);
   students.add(mimi);
   //利用ArrayList的Count属性查看该集合中的元素数量
   int number = students.Count;
    Console.WriteLine("共有元素" + number + "个");
   //读取单个元素,因为存入ArrayList中的元素会变为Object类型,
   //所以,在读取时间,
   Student stu = students[0] as Student;
   stu.say();
   //遍历元素 -- 通过索引
   for(int i = 0;i < students.Count;i ++)
   {
    Student a = students[i] as Student;
    a.say();
   }
   //利用foreach循环
   foreach(Object o in students)
   {
     Student b = o as Student;
     b.say();
   }
   //删除元素 通过索引删除
   students.removeAt(0);
   //删除元素,  通过对象名
   students.remove(jack);
   //清空元素
   students.Clear();
   //我们知道,ArrayList的容量会随着我们的需要自动按照一定规律
   //进行填充,当我们确定不再添加元素时,我们要释放多余的空间
   //这就用到了Capacity属性和TrimtoSize()方法
   //利用Capacity属性可以查看当前集合的容量
   //利用TrimtoSize()方法可以释放多余的空间 

   //查看当前容量
   int number = students.Capacity;
   //去除多余的容量
   students.TrimtoSize();
   }
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#实现对二维数组排序的方法

    本文实例讲述了C#实现对二维数组排序的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// A generic routine to sort a two dimensional array of a specified type based on the specified column. /// </summary> /// <param name="array">The array to sort.</par

  • C#中用foreach语句遍历数组及将数组作为参数的用法

    对数组使用 foreach C#提供 foreach 语句. 该语句提供一种简单.明了的方法来循环访问数组或任何可枚举集合的元素. foreach 语句按数组或集合类型的枚举器返回的顺序处理元素,该顺序通常是从第 0 个元素到最后一个元素. 例如,以下代码创建一个名为 numbers 的数组,并使用 foreach 语句循环访问该数组: int[] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 }; foreach (int i in numbers) { Sy

  • C#数组排序的两种常用方法

    本文实例讲述了C#数组排序的两种常用方法.分享给大家供大家参考.具体如下: 1.第一个例子 定义代码 #region Array数组排序1 public class Pigeon : IComparable<Pigeon> //类元素本身继承比较接口 { int XValue; int YValue; public string BatchNo { get; set; } public int CompareTo(Pigeon other) { if (other == null) throw

  • C#读取文件所有行到数组的方法

    本文实例讲述了C#读取文件所有行到数组的方法.分享给大家供大家参考.具体实现方法如下: using System; namespace PlayingAround { class ReadAll { public static void Main(string[] args) { string[] lines = System.IO.File.ReadAllLines(@"C:\t1"); Console.Out.WriteLine("contents = " +

  • C#不重复输出一个数组中所有元素的方法

    本文实例讲述了C#不重复输出一个数组中所有元素的方法.分享给大家供大家参考.具体如下: 1.算法描述 0)输入合法性校验 1)建立临时数组:与原数组元素一样.该步骤的目的是防止传入的原数组被破坏 2)对临时数组进行排序 3)统计临时数组共有多少个不同的数字.该步骤的目的是为了确定结果集数组的长度 4)建立结果集数组,只存放不同的数字 5)返回结果集 2.函数代码 /// <summary> /// 建立包含原数组内所有元素且元素间互不重复的新数组 /// </summary> //

  • C#实现将数组内元素打乱顺序的方法

    本文实例讲述了C#实现将数组内元素打乱顺序的方法.分享给大家供大家参考.具体如下: 1.泛型类代码 //泛型类 class Item<T> { T[] item; //构造函数 public Item(T[] obj) { item = new T[obj.Length]; for (int i = 0; i < obj.Length; i++) { item[i] = obj[i]; } } public Type ShowType() { return typeof(T); } //

  • 深入解析C#中的交错数组与隐式类型的数组

    交错数组 交错数组是元素为数组的数组.交错数组元素的维度和大小可以不同.交错数组有时称为"数组的数组".以下示例说明如何声明.初始化和访问交错数组. 下面声明一个由三个元素组成的一维数组,其中每个元素都是一个一维整数数组: int[][] jaggedArray = new int[3][]; 必须初始化 jaggedArray 的元素后才可以使用它.可以如下例所示初始化该元素: jaggedArray[0] = new int[5]; jaggedArray[1] = new int

  • C#实现字符串转换成字节数组的简单实现方法

    本文实例讲述了C#实现字符串转换成字节数组的简单实现方法.分享给大家供大家参考.具体实现方法如下: using System.Text; public static byte[] ConvertStringToByteArray(string stringToConvert) { return (new UnicodeEncoding()).GetBytes(stringToConvert); } 希望本文所述对大家的C#程序设计有所帮助.

  • 详解C#编程中一维数组与多维数组的使用

    一维数组 可按下面的示例所示声明五个整数的一维数组. int[] array = new int[5]; 此数组包含从 array[0] 到 array[4] 的元素. new 运算符用于创建数组并将数组元素初始化为它们的默认值.在此例中,所有数组元素都初始化为零. 可以用相同的方式声明存储字符串元素的数组.例如: string[] stringArray = new string[6]; 数组初始化 可以在声明数组时将其初始化,在这种情况下不需要级别说明符,因为级别说明符已经由初始化列表中的元

  • C#字符串数组转换为整形数组的方法

    本文实例讲述了C#字符串数组转换为整形数组的方法.分享给大家供大家参考.具体实现方法如下: /// <summary> /// 字符串数组转换整形数组 /// </summary> /// <param name="Content">字符串数组</param> /// <returns></returns> public static int[] ToIntArray(string[] Content) { int

随机推荐