LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# 数组、链表、列表、哈希表用法

admin
2025年7月8日 20:55 本文热度 77
1、数组(Array):

(1)、优缺点:
         点:内存中是连续的存储单元,且数据类型一致,索引速度快;

        缺点:数组过长,容易造成内存溢出;插入数据很麻烦;

(2)、数组一维、二维、三维初始化如下:

//一维数组初始化 string[] ListA = new string[] { "S""M""L""XL""XXL" };  //二维数组初始化(3行3列) int[,] A1 = new int[33] { { 123 }, { 456 }, { 789 } };
 //三维数组初始化(3组4行5列) int[,,] A3 = new int[345] {
     {{ 1,2,3,4,5}, { 6,7,8,9,10}, {1,2,3,4,5 } , { 6,7,8,9,10}},
     {{ 1,2,3,4,5}, { 6,7,8,9,10}, {1,2,3,4,5 } , { 6,7,8,9,10}},
     {{ 1,2,3,4,5}, { 6,7,8,9,10}, {1,2,3,4,5 } , { 6,7,8,9,10}} };
2、链表(ArrayList )
(1)优缺点:

       优点:可以动态扩充及收缩长度,且可存储不同类型数据;

       缺点:在获取数据量,因数据类型不同,容易产生成类型不匹配转换错误;装箱与拆                 箱过程,带来很大性能损耗;

(装箱:将指定的数据类转换为object对象;拆箱:将object对象转换为指定对象类型;)

(2)链表用法:

ArrayList listA = new ArrayList();listA.Add(123);//添加数据listA.Add("ABC");//添加字符串listA.Insert(1"ERP");//插入listA.RemoveAt(0);//删除
foreach (var item in listA){    //遍历}

3、列表(List)

(1)优缺点:

      优点:兼具数组特点数据类型是一致的,且可以动态扩充容量;提供了Sort、Find等                 实用方法;克服了ArrayList装箱与拆箱过程产生的性能损耗;

      缺点:使用列表可能分配比实际需要更多的空间造成内存浪费,列表在插入删除操作                  需要移动元素加大系统开销;

(2)列表常规用法:

//列表初始化List<string> StrList = new List<string> { "A""B""C""D""E""F""G" };List<int> DataList = new List<int> {12 3,4567,89 };
//列表转换数组、字符串string[] AryStr = new string[] { "A""B""C""D""E""F""G" };List<string> temp = Ary.ToList();//将数组转换为列表
string str = String.Join(",", temp.ToArray());//将List列表转换为字符串
//列表排序(针对字符串队列排序)List<string> TempList = new List<string>();TempList = TempList.OrderBy(x => x.Length).ThenBy(x => x).ToList();//队列升序排序TempList = TempList.OrderByDescending(x => x.Length).ThenBy(x => x).ToList();//队列降序排序
//List去重复元素:List<string> NewList = TempList.Distinct().ToList();//(去掉重复元素)Distinct()函数只针对字符串列表有效;
 //列表合并;          List<int> listA = new List<int> { 123579 };List<int> listB = new List<int> { 13417292 };listA.AddRange(listB);//将列表B合并到列表A中;List<int> ResultA = listA.Union(listB).ToList<int>(); //剔除重复项List<int> ResultB = listA.Concat(listB).ToList<int>();//保留重复项listA.BinarySearch(1);//判断集合中是否包含某个值.如果包含则返回0
//判断listA是否与listB相等bool equal = listA.SequenceEqual(listB);

(3)列表嵌套用法:(多维列表用法)

//列表数据结构public class DataList{    public int IndexNo { getset; }    public string Type { getset; }    public List<double> temp = new List<double>();}
//二维嵌套队列对象List<double> tempA = new List<double>();List<DataList> dataOjb = new List<DataList>();DataList nd = new DataList();nd.IndexNo = 0;nd.temp = tempA;dataOjb.Add(nd);
//队列分组与查询//单字段分组var temp1 = dataOjb.GroupBy(x => x.Type).Select(x => new DataList { Type = x.Key }).ToList();//多字段分组var temp2 = dataOjb.GroupBy(x => new { x.Type, x.IndexNo }).ToList();
4、哈希表 (Hashtable)
(1)优缺点:

        优点:极快查找、键值对结构、自动管理容量;

        缺点:内存开销大,需要维护哈希表和冲突处理结构,元素没有特定顺序,哈希冲突                 会影响性能,不支持高效的范围查询;

(2)哈希表用法:

//创建哈希表Hashtable hastb = new Hashtable();hastb.Add("Id""1000");hastb.Add("Name""zhangsan");
//遍历哈希表键值foreach (DictionaryEntry item in hastb){    Console.WriteLine(item.Key + " " + item.Value);}
//将哈希表放入ArrayList中进行排序ArrayList akeys = new ArrayList(hastb.Keys);akeys.Sort();//按主键排序
foreach (string item in akeys){   //遍历键值}

阅读原文


该文章在 2025/7/9 9:15:27 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved