欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# ArrayList 類

admin
2024年2月8日 10:55 本文熱度 693

摘要


ArrayList是一種泛型類,用于在C#中創建動態數組。它提供了很多有用的方法,可以用于添加,插入或移除元素。由于ArrayList類是在System.Collections命名空間下定義的,因此在使用它之前必須加上這個命名空間。ArrayList是.NET Framework中最常用的動態數組類之一,它是使用最廣泛的類之一。

ArrayList的一個重要特點是它是動態數組。這意味著當我們向ArrayList中添加元素時,它會自動調整大小以適應這些元素。如果添加的元素超出了當前數組的大小,ArrayList會創建一個新的數組并將元素復制到新數組中。這種機制使得ArrayList可以適應各種數據集,并且可以避免不必要的內存分配。

在ArrayList中,我們可以使用以下方法添加,插入或移除元素:

  • Add:向ArrayList中添加一個元素。

  • Insert:將一個元素插入到ArrayList的特定位置。

  • Remove:從ArrayList中移除一個元素。

除此之外,ArrayList還提供了許多其他有用的方法,例如Find和IndexOf,這些方法可以用于查找元素在ArrayList中的位置。

雖然ArrayList是一種強大的數組類,但是它也有一些缺點。例如,在添加或移除元素時,ArrayList需要調整大小,這可能會導致一些性能問題。此外,在訪問ArrayList中的元素時,我們只能一次獲取或設置一個元素的值。這可能會導致一些不必要的復制和比較操作,從而影響程序的性能。

ArrayList是一種非常有用的類,可以幫助我們創建動態數組。盡管它有一些缺點,但是在大多數情況下,ArrayList都是一種非常實用的工具,可以提高程序的效率和靈活性。

正文


不建議將類用于 ArrayList 新開發。 相反,我們建議使用泛型 List<T> 類。 該 ArrayList 類旨在保存對象的異類集合。 但是,它并不總是提供最佳性能。 建議執行以下操作:

  • 對于對象的異類集合,請使用 List<Object> C#)  。

  • 對于對象的同質集合,請使用 List<T> 該類。

屬性



Capacity獲取或設置 ArrayList 可包含的元素數。
Count獲取 ArrayList 中實際包含的元素數。
IsFixedSize獲取一個值,該值指示 ArrayList 是否具有固定大小。
IsReadOnly獲取一個值,該值指示 ArrayList 是否為只讀。
IsSynchronized獲取一個值,該值指示是否同步對 ArrayList 的訪問(線程安全)。
Item[Int32]獲取或設置指定索引處的元素。
SyncRoot獲取可用于同步對 ArrayList 的訪問的對象。

方法



Adapter(IList)為特定 IList 創建 ArrayList 包裝。
Add(Object)將對象添加到 ArrayList 的結尾處。
AddRange(ICollection)將 ICollection 的元素添加到 ArrayList 的末尾。
BinarySearch(Int32, Int32, Object, IComparer)使用指定的比較器在已排序 ArrayList 的某個元素范圍中搜索元素,并返回該元素從零開始的索引。
BinarySearch(Object)使用默認的比較器在整個已排序的 ArrayList 中搜索元素,并返回該元素從零開始的索引。
BinarySearch(Object, IComparer)使用指定的比較器在整個已排序的 ArrayList 中搜索元素,并返回該元素從零開始的索引。
Clear()從 ArrayList 中移除所有元素。
Clone()創建 ArrayList 的淺表副本。
Contains(Object)確定某元素是否在 ArrayList 中。
CopyTo(Array)從目標數組的開頭開始,將整個 ArrayList 復制到兼容的一維 Array。
CopyTo(Array, Int32)從目標數組的指定索引處開始將整個 ArrayList 復制到兼容的一維 Array。
CopyTo(Int32, Array, Int32, Int32)從目標數組的指定索引處開始,將 ArrayList 中某個范圍的元素復制到兼容的一維數組 Array。
Equals(Object)確定指定對象是否等于當前對象。  (繼承自 Object)
FixedSize(ArrayList)返回具有固定大小的 ArrayList 包裝。
FixedSize(IList)返回具有固定大小的 IList 包裝。
GetEnumerator()返回用于整個 ArrayList 的枚舉數。
GetEnumerator(Int32, Int32)返回 ArrayList 中元素范圍的枚舉器。
GetRange(Int32, Int32)返回一個 ArrayList,它表示源 ArrayList 中的元素子集。
IndexOf(Object)搜索指定的 Object,并返回整個 ArrayList 中第一個匹配項的從零開始的索引。
IndexOf(Object, Int32)搜索指定的 Object,并返回 ArrayList 中從指定索引到最后一個元素的元素范圍中第一個匹配項的從零開始索引。
IndexOf(Object, Int32, Int32)搜索指定的 Object,并返回 ArrayList 中從指定索引開始,并包含指定元素數的元素范圍中第一個匹配項的從零開始的索引。
Insert(Int32, Object)將元素插入 ArrayList 的指定索引處。
InsertRange(Int32, ICollection)將集合中的元素插入 ArrayList 的指定索引處。
LastIndexOf(Object)在整個 ArrayList 中搜索指定的 Object,并返回最后一個匹配項的從零開始的索引。
LastIndexOf(Object, Int32)搜索指定的 Object,并返回 ArrayList 中從第一個元素到指定索引這部分元素中最后一個匹配項的從零開始索引。
LastIndexOf(Object, Int32, Int32)搜索指定的 Object,并返回 ArrayList 中到指定索引為止包含指定元素數的這部分元素中最后一個匹配項的從零開始的索引。
ReadOnly(ArrayList)返回只讀的 ArrayList 包裝。
ReadOnly(IList)返回只讀的 IList 包裝。
Remove(Object)從 ArrayList 中移除特定對象的第一個匹配項。
RemoveAt(Int32)移除 ArrayList 的指定索引處的元素。
RemoveRange(Int32, Int32)從 ArrayList 中移除一系列元素。
Repeat(Object, Int32)返回 ArrayList,其元素是指定值的副本。
Reverse()將整個 ArrayList 中元素的順序反轉。
Reverse(Int32, Int32)將指定范圍中元素的順序反轉。
SetRange(Int32, ICollection)復制 ArrayList 中一個子集合的元素。
Sort()對整個 ArrayList 中的元素進行排序。
Sort(IComparer)使用指定的比較器對整個 ArrayList 中的元素進行排序。
Sort(Int32, Int32, IComparer)使用指定的比較器對 ArrayList 中某個范圍內的元素進行排序。
Synchronized(ArrayList)返回同步的(線程安全)ArrayList 包裝器。
Synchronized(IList)返回同步的(線程安全)IList 包裝器。
ToArray()將 ArrayList 的元素復制到新 Object 數組中。
ToArray(Type)將 ArrayList 的元素復制到新的指定元素類型數組中。


ArrayList元素的添加

private void btnAdd_Click(object sender, EventArgs e)
{
    ArrayList array = new ArrayList();
    array.Add(1);
    array.Add("張飛");
    array.Add(10.4f);
    string[] ary1 = { "hello", "world" };
    array.AddRange(ary1);
    foreach (var item in array)
    {
        MessageBox.Show(item.ToString());
    }
}

ArrayList元素的刪除

private void btnDelete_Click(object sender, EventArgs e)
{
    array.RemoveAt(2);
    array.Remove("張飛");//用于移除指定元素值的第一個匹配集合元素
    foreach (var item in array)
    {
        MessageBox.Show(item.ToString());
    }
    array.RemoveRange(1, 2);//從1開始,刪除2個元素
    array.Clear();//刪除所有
}

ArrayList元素的查找

private void btnSearch_Click(object sender, EventArgs e){    int idx = array.IndexOf(txtSearch.Text);    MessageBox.Show(idx.ToString());    idx = array.LastIndexOf(txtSearch.Text);    MessageBox.Show(idx.ToString());}

是否包括:

var ret = array.Contains(10.4f);
MessageBox.Show(ret.ToString());


該文章在 2024/2/8 10:55:22 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved