C#動(dòng)態(tài)數(shù)組的應(yīng)用詳解實(shí)例
下面的例子向你演示C#動(dòng)態(tài)數(shù)組的方法及屬性,這樣通過(guò)實(shí)例的演示介紹能夠更加深刻的理解C#動(dòng)態(tài)數(shù)組的各項(xiàng)基本概念和應(yīng)用,希望對(duì)你有所幫助。
C#動(dòng)態(tài)數(shù)組的詳解實(shí)例:
- ArrayList AL = new ArrayList();
- AL.Add("Hello");
- AL.Add(" World");
- Console.WriteLine("給數(shù)組添加元素:");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("個(gè)數(shù):" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.Insert(1, " c#");
- //C#動(dòng)態(tài)數(shù)組的詳解實(shí)例
- Console.Write("在索引值為1的地方插入 ");
- foreach (Object obj in AL)
- {Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("個(gè)數(shù):" + AL.Count);
- Console.WriteLine("容量: "+AL.Capacity);
- AL.Add("。");//給集合添加“?!保榭醇系娜萘?
- Console.WriteLine("容量。: " + AL.Capacity);
- AL.Add("---");//給集合添加“---”,查看當(dāng)集合的容量不夠時(shí),倍數(shù)變化
- Console.WriteLine("容量---: " + AL.Capacity);
- Console.WriteLine("3號(hào)索引的:"+AL[3]);
- //用索引方式獲取集合元素值
- //C#動(dòng)態(tài)數(shù)組的詳解實(shí)例
- Console.WriteLine("數(shù)組中是否包含?:"+AL.Contains ("?"));
- //利用contains方法,查找集合中是否包含“?”
- Console.WriteLine("經(jīng)過(guò)之前操作后的數(shù)組元素:");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("個(gè)數(shù):" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- //C#動(dòng)態(tài)數(shù)組的詳解實(shí)例
- AL.Remove("。");//移除集合中的“。”元素
- AL.Remove("?");
- //移除集合中的“?”,但是因?yàn)闆](méi)有“?”,
- //所以此行代碼不會(huì)對(duì)集合進(jìn)行操作。
- Console.WriteLine("沒(méi)有?個(gè)數(shù)只減少1個(gè)容量不變");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("個(gè)數(shù):" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.RemoveAt(3);//移除3號(hào)索引的元素
- Console.WriteLine("移除3號(hào)索引位的元素:");
- foreach (Object obj in AL)
- { Console.Write(obj); }
- Console.WriteLine();
- Console.WriteLine("個(gè)數(shù):" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.TrimToSize(); //縮減容量
- Console.WriteLine("實(shí)際容量: " + AL.Capacity);
- AL.Clear();
- Console.WriteLine("清除全部元素后:");
- Console.WriteLine("個(gè)數(shù):" + AL.Count);
- Console.WriteLine("容量: " + AL.Capacity);
- AL.TrimToSize(); //縮減容量
- Console.WriteLine(“再次縮減實(shí)際容量: " + AL.Capacity);
回到了ArrayList最初的容量。
通過(guò)以上的例子你們應(yīng)該已經(jīng)理解集合的方法,我們?cè)賮?lái)總結(jié)一下集合ArrayList相比數(shù)組有什么好處?主要是它可以根據(jù)使用大小按需動(dòng)態(tài)增加,不用受事先設(shè)置大小的控制,還有就是可以隨意的添加、插入或移除某一范圍元素,比數(shù)組要方便。但是它也有不足,ArrayList 不管對(duì)象是什么類型都會(huì)添加到集合j中,在編譯時(shí)都是沒(méi)有問(wèn)題的,但是在遍歷的時(shí)候,為防止集合中元素的類型不一致,所以最好使用object類型來(lái)接收遍歷j的元素,如foreach(object i in j)這樣就能減少錯(cuò)誤。
C#動(dòng)態(tài)數(shù)組的詳解實(shí)例就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#動(dòng)態(tài)數(shù)組有所幫助。
【編輯推薦】