在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
写起来还是有些勉强的,还有很多用法没有完全理解,只整理了一些基本点。
Array也就是数组。 具体表示方法是:数据类型[维数] 数组名=new 数据类型[] 举例如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] a = new int[3]; int[] b = new int[3] { 1, 2, 3 }; int[] c = new int[] { 1, 2, 3 }; int[,] d = new int[3,3]; } } }
ArrayList动态数组,用法似乎跟c++的vector有点像。使用ArrayList必须引用Collections类。 声明 ArrayList a=new ArrayList(); 添加
删除
排序 Sort(); 反转 Reverse(); 查找
输出元素 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { ArrayList a = new ArrayList(); foreach (int i in a) Console.WriteLine(i); //不需要强制转换 for (int i = 0; i < a.Count; i++) //与数组的Length不同 { int n = (int)al2[i]; //需要强制转换 Console.WriteLine(n); } } } }
ListList类是ArrayList类的泛型等效类,它的大部分用法都与ArrayList相似。最大的区别就是在声明List集合时,我们需要同时声明List内元素的数据类型。 不过,大部分情况下,List似乎比ArrayList更加安全和高效,原因在于ArrayList会把所有插入其中的数据作为object类型来处理,所以在用ArrayList处理数据时,很可能会出现类型不匹配的错误,并且装箱和拆箱的过程会带来很大的性能耗损。关于这一点还不是很理解,会继续学习。 声明方式: List<int> a = new List<int>();
Hashtable传说中的哈希表。 哈希表的内部是无序散列,也就是说,其输出不是按照开始加入的顺序,但这也保证了高效率。如果以任意类型键值访问其中元素会快于其他集合,特别是当数据量特别大的时候,效率差别尤其大。如果一定要排序HashTable输出,只能自己实现。 声明:Hashtable a = new Hashtable(); Add(a,b) 在哈希表中添加键值对; 示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Hashtable a = new Hashtable(); a.Add(1, 1); //添加键值对 a[1] = 2; //给指定键赋值 //遍历1 foreach (DictionaryEntry b in a) { Console.WriteLine("{0}{1}", b.Key, b.Value); } //遍历2 IDictionaryEnumerator c = a.GetEnumerator(); while (c.MoveNext()) { Console.WriteLine("{0}{1}", c.Entry.Key, c.Entry.Value); } //按序输出 ArrayList d = new ArrayList(a.Keys); d.Sort(); foreach (int e in d) { Console.WriteLine(a[e]); } } } }
DictionaryDictionary与Hashtable类似,但是Dictionary遍历的顺序就是加入的顺序。 声明:Dictionary<string, string> a = Dictionary<string, string>(); Add(a,b) 在字典中添加键值对; 示例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Dictionary<string, string> a = new Dictionary<string, string>(); a.Add("a", "aa"); //添加键值对 a.Add("b", "bb"); a["a"] = "cc"; //给指定键赋值 //用泛型结构体遍历 foreach (KeyValuePair<string, string> b in a) { Console.WriteLine("{0}{1}", b.Key, b.Value); } //获得值集合 foreach (string c in a.Values) { Console.WriteLine(c); } } } }
Stack后进先出。 声明:Stack a = new Stack(); Pop() 出栈; 示例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Stack a = new Stack(); a.Push(1); //入栈 a.Push(2); a.Pop(); //出栈 Console.WriteLine("{0}{1}",a.Count,a.Peek()); //输出栈的元素个数 //遍历 foreach (int b in a) { Console.WriteLine(b); } } } }
Queue先进先出。 声明:Queue a = new Queue(); Enqueue(a) 入队; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Queue a = new Queue(); a.Enqueue(1); //入队 a.Enqueue(2); a.Dequeue(); //出队 Console.WriteLine("{0}{1}", a.Count, a.Peek()); //输出队列的元素个数 //遍历 foreach (int b in a) { Console.WriteLine(b); } } } } 转自:https://www.cnblogs.com/S031602240/p/6411439.html
写起来还是有些勉强的,还有很多用法没有完全理解,只整理了一些基本点。
Array也就是数组。 具体表示方法是:数据类型[维数] 数组名=new 数据类型[] 举例如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] a = new int[3]; int[] b = new int[3] { 1, 2, 3 }; int[] c = new int[] { 1, 2, 3 }; int[,] d = new int[3,3]; } } }
ArrayList动态数组,用法似乎跟c++的vector有点像。使用ArrayList必须引用Collections类。 声明 ArrayList a=new ArrayList(); 添加
删除
排序 Sort(); 反转 Reverse(); 查找
输出元素 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { ArrayList a = new ArrayList(); foreach (int i in a) Console.WriteLine(i); //不需要强制转换 for (int i = 0; i < a.Count; i++) //与数组的Length不同 { int n = (int)al2[i]; //需要强制转换 Console.WriteLine(n); } } } }
ListList类是ArrayList类的泛型等效类,它的大部分用法都与ArrayList相似。最大的区别就是在声明List集合时,我们需要同时声明List内元素的数据类型。 不过,大部分情况下,List似乎比ArrayList更加安全和高效,原因在于ArrayList会把所有插入其中的数据作为object类型来处理,所以在用ArrayList处理数据时,很可能会出现类型不匹配的错误,并且装箱和拆箱的过程会带来很大的性能耗损。关于这一点还不是很理解,会继续学习。 声明方式: List<int> a = new List<int>();
Hashtable传说中的哈希表。 哈希表的内部是无序散列,也就是说,其输出不是按照开始加入的顺序,但这也保证了高效率。如果以任意类型键值访问其中元素会快于其他集合,特别是当数据量特别大的时候,效率差别尤其大。如果一定要排序HashTable输出,只能自己实现。 声明:Hashtable a = new Hashtable(); Add(a,b) 在哈希表中添加键值对; 示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Hashtable a = new Hashtable(); a.Add(1, 1); //添加键值对 a[1] = 2; //给指定键赋值 //遍历1 foreach (DictionaryEntry b in a) { Console.WriteLine("{0}{1}", b.Key, b.Value); } //遍历2 IDictionaryEnumerator c = a.GetEnumerator(); while (c.MoveNext()) { Console.WriteLine("{0}{1}", c.Entry.Key, c.Entry.Value); } //按序输出 ArrayList d = new ArrayList(a.Keys); d.Sort(); foreach (int e in d) { Console.WriteLine(a[e]); } } } }
DictionaryDictionary与Hashtable类似,但是Dictionary遍历的顺序就是加入的顺序。 声明:Dictionary<string, string> a = Dictionary<string, string>(); Add(a,b) 在字典中添加键值对; 示例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Dictionary<string, string> a = new Dictionary<string, string>(); a.Add("a", "aa"); //添加键值对 a.Add("b", "bb"); a["a"] = "cc"; //给指定键赋值 //用泛型结构体遍历 foreach (KeyValuePair<string, string> b in a) { Console.WriteLine("{0}{1}", b.Key, b.Value); } //获得值集合 foreach (string c in a.Values) { Console.WriteLine(c); } } } }
Stack后进先出。 声明:Stack a = new Stack(); Pop() 出栈; 示例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Stack a = new Stack(); a.Push(1); //入栈 a.Push(2); a.Pop(); //出栈 Console.WriteLine("{0}{1}",a.Count,a.Peek()); //输出栈的元素个数 //遍历 foreach (int b in a) { Console.WriteLine(b); } } } }
Queue先进先出。 声明:Queue a = new Queue(); Enqueue(a) 入队; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Queue a = new Queue(); a.Enqueue(1); //入队 a.Enqueue(2); a.Dequeue(); //出队 Console.WriteLine("{0}{1}", a.Count, a.Peek()); //输出队列的元素个数 //遍历 foreach (int b in a) { Console.WriteLine(b); } } } } 转自:https://www.cnblogs.com/S031602240/p/6411439.html
|
请发表评论