真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#中集合ArrayList怎么用

這篇文章給大家分享的是有關(guān)C#中集合ArrayList怎么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)公司,專(zhuān)注為中小企業(yè)提供官網(wǎng)建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站制作、響應(yīng)式網(wǎng)站開(kāi)發(fā)、展示型成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)等服務(wù),幫助中小企業(yè)通過(guò)網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷(xiāo)推廣問(wèn)題。

具體如下:

.NET Framework提供了用于數(shù)據(jù)存儲(chǔ)和檢索的專(zhuān)用類(lèi),這些類(lèi)統(tǒng)稱(chēng)集合。這些類(lèi)提供對(duì)堆棧、隊(duì)列、列表和哈希表的支持。大多數(shù)集合類(lèi)實(shí)現(xiàn)系統(tǒng)的接口。下面我們主要來(lái)講一下ArrayList。

ArrayList是命名空間Systrm.Collections下的一部分,它是使用大小可按需動(dòng)態(tài)增加的數(shù)組實(shí)現(xiàn)IList接口。

ArrayList的容量是ArrayList可以保存的元素?cái)?shù)。ArrayList的默認(rèn)初始容量為0.隨著元素添加到ArrayList中,容量會(huì)根據(jù)需要通過(guò)重新分配自動(dòng)增加。使用證書(shū)索引可以訪問(wèn)此集合中的元素。此集合中的索引從零開(kāi)始。

下面我們先來(lái)看一個(gè)例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace 集合{
  //動(dòng)物類(lèi)
  public abstract class Animal
  {
    protected string name;   //動(dòng)物的名字
    public string Name
    {
      get { return name; }
      set { name = value; }
    }
    public Animal()
    {
      name="The animal with no name";
    }
    public Animal(string newName)
    {
      name=newName;
    }
    public void Feed()   //繁殖后代
    {
      Console.WriteLine("{0} has been fed.",name);
    }
  }
  //奶牛類(lèi)
  public class Cow : Animal
  {
    public Cow(string newName): base(newName)
    { }
    public void Milk()   //產(chǎn)牛奶
    {
      Console.WriteLine("{0} has been milked.", name);
    }
  }
  //母雞類(lèi)
  public class Chicken : Animal
  {
    public Chicken(string newName):base(newName)
    { }
    public void LayEgg()  //下蛋
    {
      Console.WriteLine("{0} has laid an egg.", name);
    }
  }
  class Program
  {
    static void Main(string[] args)
    {
      //用數(shù)組的方法實(shí)現(xiàn)
      Console.WriteLine("Create an Array type collection of Animal object and use it:");
      Animal[] animalArray = new Animal[2];
      Cow myCow1 = new Cow("Deirdre");
      animalArray[0] = myCow1;
      animalArray[1] = new Chicken("Ken");
      foreach (Animal myAnimal in animalArray )
      {
        Console.WriteLine("New {0} object added to Array collection,Name={1}", myAnimal.ToString(), myAnimal.Name);
      }
      Console.WriteLine("Array collection contains {0} objects.",animalArray .Length );
      animalArray[0].Feed();
      ((Chicken)animalArray[1]).LayEgg();
      Console.WriteLine();
      //用集合的方法實(shí)現(xiàn)
      Console.WriteLine("Create an ArrayList type collection of Animal objects and use it;");
      ArrayList animalArrayList = new ArrayList();
      Cow myCow2 = new Cow("HayLey");
      animalArrayList.Add(myCow2);
      animalArrayList.Add(new Chicken("Roy"));
      foreach (Animal myAnimal in animalArrayList)
      {
        Console.WriteLine("New {0} object added to ArrayList collection,Name={1}", myAnimal.ToString(), myAnimal.Name);
      }
      Console.WriteLine("ArrayList collection contains {0} objects.", animalArrayList.Count);
      ((Animal)animalArrayList[0]).Feed();
      ((Chicken)animalArrayList[1]).LayEgg();
      Console.WriteLine();
    }
  }
}

C#中集合ArrayList怎么用

集合的創(chuàng)建

對(duì)于簡(jiǎn)單的數(shù)組來(lái)說(shuō),只有用固定的大小來(lái)初始化數(shù)組,才能使用它。

Animal[] animalArray = new Aimal[2];

而ArrayList集合不需要初始化其大小

ArrayList animalArrayList = new ArrayList();

這個(gè)類(lèi)還有另外兩個(gè)構(gòu)造函數(shù)。第一個(gè)構(gòu)造函數(shù)把現(xiàn)有的集合作為一個(gè)參數(shù),把現(xiàn)有集合的內(nèi)容復(fù)制到新實(shí)例中;而另一個(gè)構(gòu)造函數(shù)通過(guò)一個(gè)參數(shù)設(shè)置集合的容量(capacity)。這個(gè)容量用一個(gè)int值指定,設(shè)置集合中可以包含的初始項(xiàng)數(shù)。但這并不是真實(shí)的容量,因?yàn)槿绻现械捻?xiàng)數(shù)超過(guò)了這個(gè)值,容量就會(huì)自動(dòng)增加一倍。

對(duì)于ArrayList集合,它沒(méi)有現(xiàn)成的項(xiàng),也沒(méi)有null引用的項(xiàng)。我們使用ArrayList對(duì)象的Add()方法添加新項(xiàng):

Cow myCow2 = new Cow("Hayley");
anmialArrayList.Add(myCow2);
anmialArrayList.Add(new Chicken("Roy"));

ArrayList對(duì)象支持IEnumerable接口,這個(gè)接口的唯一方法GetEnuumerator()可以迭代集合中的各項(xiàng)。所以可以與foreach一起使用

foreach (Animal myAnimal in animalArrayList)
{
  Console.WriteLine("New {0} object added to ArrayList collection,Name = {1}",myAnimal.Tostring(),myAnimal.Name);
}

ArrayList集合是System.Object對(duì)象的集合(通過(guò)多態(tài)性賦給Animal對(duì)象),所以必須用所有的項(xiàng)進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換:

((Animal)animalArrayList[0]).Feed();
((Chichen)animalArrayList[1]).LayEgg();

我們可以使用Remove()和RemoveAt()方法刪除項(xiàng),這兩個(gè)方法是在ArrayList類(lèi)中實(shí)現(xiàn)的IList接口的一部分。它們分別根據(jù)項(xiàng)的引用或索引從集合中刪除項(xiàng):

animalArrayList.RemoveAt(0);
animalArrayList.Remove(myCow2);

ArrayList集合可以用AddRange()方法一次添加好幾個(gè)項(xiàng)。這個(gè)方法接受帶有ICollection接口的任何對(duì)象,包括數(shù)組:

animalArrayList.AddRange(animalArray);

AddRange()方法不是ArrayList提供的任何接口的一部分。這個(gè)方法專(zhuān)用于ArrayList類(lèi)

感謝各位的閱讀!關(guān)于“C#中集合ArrayList怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)頁(yè)標(biāo)題:C#中集合ArrayList怎么用
文章來(lái)源:http://weahome.cn/article/iheede.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部