国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#入門教程之集合ArrayList用法詳解

C#入門教程之集合ArrayList用法詳解

2022-01-10 14:24傻丫頭與科技 C#

這篇文章主要介紹了C#入門教程之集合ArrayList用法,結合具體實例分析了C#中集合的概念、功能、創建與使用方法,需要的朋友可以參考下

本文實例講述了C#入門教程之集合ArrayList用法。分享給大家供大家參考,具體如下:

.NET Framework提供了用于數據存儲和檢索的專用類,這些類統稱集合。這些類提供對堆棧、隊列、列表和哈希表的支持。大多數集合類實現系統的接口。下面我們主要來講一下ArrayList。

ArrayList是命名空間Systrm.Collections下的一部分,它是使用大小可按需動態增加的數組實現IList接口。

ArrayList的容量是ArrayList可以保存的元素數。ArrayList的默認初始容量為0.隨著元素添加到ArrayList中,容量會根據需要通過重新分配自動增加。使用證書索引可以訪問此集合中的元素。此集合中的索引從零開始。

下面我們先來看一個例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace 集合{
  //動物類
  public abstract class Animal
  {
    protected string name;   //動物的名字
    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);
    }
  }
  //奶牛類
  public class Cow : Animal
  {
    public Cow(string newName): base(newName)
    { }
    public void Milk()   //產牛奶
    {
      Console.WriteLine("{0} has been milked.", name);
    }
  }
  //母雞類
  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)
    {
      //用數組的方法實現
      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();
      //用集合的方法實現
      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用法詳解

集合的創建

對于簡單的數組來說,只有用固定的大小來初始化數組,才能使用它。

?
1
Animal[] animalArray = new Aimal[2];

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

?
1
ArrayList animalArrayList = new ArrayList();

這個類還有另外兩個構造函數。第一個構造函數把現有的集合作為一個參數,把現有集合的內容復制到新實例中;而另一個構造函數通過一個參數設置集合的容量(capacity)。這個容量用一個int值指定,設置集合中可以包含的初始項數。但這并不是真實的容量,因為如果集合中的項數超過了這個值,容量就會自動增加一倍。

對于ArrayList集合,它沒有現成的項,也沒有null引用的項。我們使用ArrayList對象的Add()方法添加新項:

?
1
2
3
Cow myCow2 = new Cow("Hayley");
anmialArrayList.Add(myCow2);
anmialArrayList.Add(new Chicken("Roy"));

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

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

ArrayList集合是System.Object對象的集合(通過多態性賦給Animal對象),所以必須用所有的項進行數據類型轉換:

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

我們可以使用Remove()和RemoveAt()方法刪除項,這兩個方法是在ArrayList類中實現的IList接口的一部分。它們分別根據項的引用或索引從集合中刪除項:

?
1
2
animalArrayList.RemoveAt(0);
animalArrayList.Remove(myCow2);

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

?
1
animalArrayList.AddRange(animalArray);

AddRange()方法不是ArrayList提供的任何接口的一部分。這個方法專用于ArrayList類,

希望本文所述對大家C#程序設計有所幫助。

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
主站蜘蛛池模板: 伊人网在线 | 伊人99 | 欧美成人综合 | 免费av在线网站 | 国产精品久久久久久久美男 | 欧美日韩一区二区三区不卡视频 | 欧美天堂| 成人免费观看高清视频 | 日韩国产欧美亚洲 | 亚洲乱码国产乱码精品精的特点 | 日韩在线精品 | 精品成人影院 | 免费一区二区 | 中国大陆高清aⅴ毛片 | 成人免费视频观看视频 | 精品一区二区三区免费 | xvideos.蜜桃一区二区 | 自拍在线 | 久久久久亚洲精品 | 亚洲男女视频在线观看 | 国产不卡精品视频 | 国产精一区| 午夜免费视频 | 亚洲高清毛片一区二区 | 在线视频一区二区 | 亚洲区视频在线观看 | 三级成人在线 | 在线观看成人 | 午夜午夜精品一区二区三区文 | 人人99 | 精品无码久久久久久国产 | 一本大道色卡1卡2卡3 | 91精品啪啪 | 91精品一区二区三区久久久久久 | 亚洲自拍偷拍在线 | 深夜视频在线观看 | 国产一区二区视频免费看 | 日韩美一级 | 中文字幕视频 | 激情综合激情 | 一级视频免费观看 |