本章将和大家分享.NET中常用的数据结构。下面直接给大家Show一波API:
using System;using System.Collections;using System.Collections.Generic;using System.Linq;namespace MyStructure{ /// <summary> /// Array/ArrayList/List/LinkedList/Queue/Stack/HastSet/SortedSet/Hashtable/SortedList/Dictionary/SortedDictionary /// IEnumerable、ICollection、IList、IQueryable /// 接口是标识功能的,不同的接口拆开就是为接口隔离,虽然我们接口内容也可能重复。 /// /// IEnumerable 任何数据集合都实现了的,为不同的数据结构提供了统一的数据访问方式,这个就是迭代器模式。 /// </summary> public static class CollectionDemo { public static void Show() { //1 内存连续存储,节约空间,可以索引访问,读取快,增删慢。 #region Array、ArrayList、List<T> //Array { //Array:在内存上连续分配的,而且元素类型是一样的 //可以坐标访问 读取快--增删慢,长度不变 Console.WriteLine("***************Array***************"); int[] intArray = new int[3]; intArray[0] = 123; string[] stringArray = new string[] { "123", "234" }; } //ArrayList { //ArrayList:不定长的,连续分配的; //元素没有类型限制,任何元素都是当成object处理,如果是值类型,会有装箱操作 //读取快--增删慢 Console.WriteLine("***************ArrayList***************"); ArrayList arrayList = new ArrayList(); arrayList.Add("TianYa"); arrayList.Add(32); //Add增加长度 //删除数据 var value = arrayList[2]; arrayList.RemoveAt(0); arrayList.Remove("TianYa"); } //List<T> { //List:也是Array,内存上都是连续摆放、不定长、泛型,保证类型安全,避免装箱拆箱 //读取快--增删慢 Console.WriteLine("***************List<T>***************"); List<int> intList = new List<int>() { 1, 2, 3, 4 }; intList.Add(123); intList.Add(123); List<string> stringList = new List<string>(); //stringList[0] = "123"; //异常的 foreach (var item in intList) { } }
没有评论:
发表评论