zoukankan      html  css  js  c++  java
  • 数组列简介

          数组列(ArrayList)与数组类似,但在给它增加元素时,能够自动扩展,而数组则有固定大小,其属于System.Collections命名空间的一部分。

    它有Add,AddRange,Insert,InsertRange,Sort等方法,可理解为动态数组。例如:

    /*
      Example11_2.cs illustrates the use of ArrayList properties
      and methods
    */
    
    using System;
    using System.Collections;
    
    class Example11_2
    {
    
      // the DisplayArrayList() method displays the elements in the
      // ArrayList that is supplied as a parameter
      public static void DisplayArrayList(
        string arrayListName, ArrayList myArrayList
      )
      {
        for (int counter = 0; counter < myArrayList.Count; counter++)
        {
          Console.WriteLine(arrayListName + "[" + counter + "] = " +
            myArrayList[counter]);
        }
      }
    
      public static void Main()
      {
    
        // create an ArrayList object
        ArrayList myArrayList = new ArrayList();
    
        // set and display the Capacity property
        myArrayList.Capacity = 10;
        Console.WriteLine("myArrayList.Capacity = " +
          myArrayList.Capacity);
    
        // display the IsFixedSize and IsReadOnly properties
        Console.WriteLine("myArrayList.IsFixedSize = " +
          myArrayList.IsFixedSize);
        Console.WriteLine("myArrayList.IsReadOnly = " +
          myArrayList.IsReadOnly);
    
        // add eight string elements to myArrayList using the Add(),
        // Insert(), AddRange(), and InsertRange() methods
        Console.WriteLine("Adding eight string elements to myArrayList");
        myArrayList.Add("This");
        myArrayList.Insert(1, "is");
        string[] myStringArray = {"a", "test"};
        myArrayList.AddRange(myStringArray);
        string[] anotherStringArray = {"Here's", "some", "more", "text"};
        myArrayList.InsertRange(myArrayList.Count, anotherStringArray);
    
        // display the elements in myArrayList using the
        // DisplayArrayList() method defined earlier
        DisplayArrayList("myArrayList", myArrayList);
    
        // use the SetRange() method to copy the elements from
        // anotherStringArray to myArrayList, starting at index 0
        Console.WriteLine("Using the SetRange() method to copy the\n" +
          "elements from anotherStringArray to myArrayList,\n" +
          "starting at index 0");
        myArrayList.SetRange(0, anotherStringArray);
        DisplayArrayList("myArrayList", myArrayList);
    
        // use the Contains() method to determine if the string "text"
        // is in the ArrayList; if it is, then use the IndexOf() and
        // LastIndexOf() methods to display the first and last occurrence
        if (myArrayList.Contains("text"))
        {
          int index = myArrayList.IndexOf("text");
          Console.WriteLine("myArrayList does contain the word 'text'");
          Console.WriteLine("'text' first occurs at index " + index);
          index = myArrayList.LastIndexOf("text");
          Console.WriteLine("'text' last occurs at index " + index);
        }
    
        // remove element 0, first "text" element, and two
        // elements starting at index 3
        Console.WriteLine("Removing elements from myArrayList");
        myArrayList.RemoveAt(0);
        myArrayList.Remove("text");
        myArrayList.RemoveRange(3, 2);
        DisplayArrayList("myArrayList", myArrayList);
    
        // use the Sort() method to sort myArrayList
        Console.WriteLine("Using the Sort() method to sort myArrayList");
        myArrayList.Sort();
        DisplayArrayList("myArrayList", myArrayList);
    
        // use the BinarySearch() method to search myArrayList
        Console.WriteLine("Using the BinarySearch() method to search myArrayList");
        int index2 = myArrayList.BinarySearch("some");
        Console.WriteLine("Found 'some' at index " + index2);
    
        // use the Reverse() method to reverse myArrayList
        Console.WriteLine("Using the Reverse() method");
        myArrayList.Reverse();
        DisplayArrayList("myArrayList", myArrayList);
    
        // use the TrimToSize() method to reduce the capacity of
        // myArrayList to the actual number of elements in myArrayList
        Console.WriteLine("Using the TrimToSize() method to reduce the\n" +
          "capacity of myArrayList");
        myArrayList.TrimToSize();
        Console.WriteLine("myArrayList.Capacity = " +
          myArrayList.Capacity);
    
        // use the GetRange() method to get a range of elements
        // from myArrayList
        Console.WriteLine("Using the GetRange() method to get two\n" +
          "elements from myArrayList, starting at index 1");
        ArrayList anotherArrayList = myArrayList.GetRange(1, 2);
        DisplayArrayList("anotherArrayList", anotherArrayList);
    
        // get an enumerator using the GetEnumerator() method
        // and use it to read the elements in myArrayList
        Console.WriteLine("Using the GetEnumerator() method to get an enumerator");
        IEnumerator myEnumerator = myArrayList.GetEnumerator();
        while (myEnumerator.MoveNext())
        {
          Console.WriteLine("myEnumerator.Current = " + myEnumerator.Current);
        }
    
        // use the Reset() method and access the first row again using MoveNext()
        Console.WriteLine("Using the Reset() method and accessing\n" +
          " the first row again using MoveNext()");
        myEnumerator.Reset();
        myEnumerator.MoveNext();
        Console.WriteLine("myEnumerator.Current = " + myEnumerator.Current);
    
        // Use a foreach statement to read the contents of myArrayList
        Console.WriteLine("Using a foreach statement to read the contents of myArrayList");
        foreach (string myString in myArrayList)
        {
          System.Console.WriteLine("myString = " + myString);
        }
    
      }
    
    }
    
  • 相关阅读:
    合并ts文件
    Typora
    Typora
    OCMock 3 参考
    git 修改上次提交信息 与 撤销此操作.
    git使用技巧
    python获取软件安装列表2222
    【Dojo 1.x】笔记6 配置对象dojoConfig的用处和真身所在
    【Dojo 1.x】笔记目录
    【Dojo 1.x】笔记5 使用本地引用
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2039417.html
Copyright © 2011-2022 走看看