C#集合
2016-08-04 09:27
411 查看
集合,表示可以通过遍历每个元素来访问的一组对象(特别是可使用foreach循环访问),一个集合包括多个元素,即有一个集合类对象和N个元素对象。
集合不同于数组,是一组可变类型的、可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,为了便于操作这些元素的类型是相同的。
在使用集合以前,我们要在程序的开头引入using System.Collections空间。 而在C#中Collections为我们提供的集合有ArrayList、Stack、Queue、Hashtable等。
集合不同于数组,是一组可变类型的、可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,为了便于操作这些元素的类型是相同的。
在使用集合以前,我们要在程序的开头引入using System.Collections空间。 而在C#中Collections为我们提供的集合有ArrayList、Stack、Queue、Hashtable等。
using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { /*---------------- * 动态数组 | * --------------- * ArrayList al = new ArrayList(); al.Add("a"); al.Add(65); int count = al.Count; al.Capacity = 5; //设置容量 al.RemoveAt(0); al.Insert(0, 66); Console.WriteLine(al[0]); al.Clear();*/ /*------------ * 栈-后进先出| * ----------- * Stack s = new Stack(); s.Push(1); s.Push(10); int count = s.Count;//2 Console.WriteLine(s.Pop());//10 Console.WriteLine(s.Pop());//1*/ /*-------------- * 队列-先进先出| * ------------- * Queue q = new Queue(); q.Enqueue('A'); // 增加元素 q.Enqueue('M'); q.Enqueue('G'); q.Enqueue('W'); Console.WriteLine("Current queue: "); // A M G W foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); q.Enqueue('V'); q.Enqueue('H'); Console.WriteLine("Current queue: "); // A M G W V H foreach (char c in q) Console.Write(c + " "); Console.WriteLine(); Console.WriteLine("Removing some values "); char ch = (char)q.Dequeue(); //移除元素 Console.WriteLine("The removed value: {0}", ch); // A ch = (char)q.Dequeue(); Console.WriteLine("The removed value: {0}", ch); // M */ /*------------------- * 哈希表-键与值对应| * ----------------- Hashtable ht = new Hashtable(); //声明ht //key值唯一,value值可以重复. ht.Add("E", "e");//添加key/键值对 ht.Add("A", "a"); ht.Add("C", "c"); ht.Add("B", "b"); foreach (string sv in ht.Values) { Console.WriteLine(sv); } foreach (string sv in ht.Keys) { Console.WriteLine(sv); } string s = (string)ht["A"]; if (ht.ContainsKey("E")) //判断哈希表是否包含特定键,其返回值为true或false Console.WriteLine("the E key:exist"); ht.Remove("C");//移除一个key/键值对 Console.WriteLine(ht["A"]);//此处输出a ht.Clear();//移除所有元素 Console.WriteLine(ht["A"]); //此处将不会有任何输出*/ /* * Hashtable常用的属性有Count、Keys、Values, * 其中:Count是获取Hashtable中的元素个数, * Keys表示获取 Hashtable 中的键的集合, * Values 表示 Hashtable 中的所有值的集合。 */ Console.ReadKey(); } } }
相关文章推荐
- C#入门4.3——赋值运算符
- C#入门4.2——数学运算符
- C#获取指定日期为一年中的第几周
- C#入门4.1——表达式
- C# 保留小数点后几位
- U3D中C#压缩解压文件示例
- C#入门3.5——本章总结及任务实施
- C#入门3.4——数据类型之引用类型
- C#利用服务器实现客户端之间通信
- C#入门3.3——数据类型之值类型
- c#消息提示框messagebox的简单使用
- c# gridview 分页
- c#errorprovider控件基本使用随笔
- C#中值类型与引用类型
- 在 C# 异步方法中使用 out/ref 参数机制
- C#数组和集合
- c#改变坐标轴的标注。
- 利用C#查看特定服务是否安装
- 算法竞赛入门经典(第二章)
- C#入门3.2——常量