当前位置: 首页 > news >正文

C# 数组,List,Stack,Dictionary,Queue,LinkedList 如何选择

回顾数据容器

 变量
            无符号
            byte ushort uint ulong


            有符号
            sbyte short int long


            浮点数
            float double decimal


            特殊
            char bool string

复杂数据容器


            枚举 enum
            结构体 struct
            数组(一维、二维、交错) []  [,]  [][]
            类
 

数据集合
            using System.Collections;

            ArrayList  object数据列表
            Stack 栈  先进后出
            Queue 队列  先进先出
            Hashtable   哈希表  键值对

 泛型数据集合
            using System.Collections.Generic;

            List  列表  泛型列表
            Dictionary 字典  泛型哈希表
            LinkedList 双向链表 
            Statck 泛型栈
            Queue 泛型队列

 如何选择 (主要看自己之后做的时候多学多看 悟)

 普通线性表:
 数组,List,LinkedList
 数组:固定的不变的一组数据
 List: 经常改变,经常通过下标查找
 LinkedList:不确定长度的,经常临时插入改变,查找不多

 先进后出:
 Stack
 对于一些可以利用先进后出存储特点的逻辑
 比如:UI面板显隐规则

 先进先出:
 Queue
 对于一些可以利用先进先出存储特点的逻辑
 比如:消息队列,有了就往里放,然后慢慢依次处理

 键值对:
 Dictionary
 需要频繁查找的,有对应关系的数据
 比如一些数据存储  id对应数据内容
 道具ID ——> 道具信息
 怪物ID ——> 怪物对象
 等等

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于YOLOv8的高效滑动验证码滑块缺口检测模型研究与应用
  • 洛谷P9235 [蓝桥杯 2023 省 A] 网络稳定性
  • 在Kibana中查询使用条件ES索引数据
  • 在Windows下安装设置VirtualBox
  • Vue3自定义hooks
  • C++ 内存布局 - Part4: 多继承与this指针调整
  • Deep-Live-Cam启动
  • Flink 流转表,表转流,watermark设置
  • pytest参数化多种用法总结
  • Python在QtSide6(PyQt)上加载网页使用OpenCV进行图像处理
  • PyQtGraph库的基本使用
  • 集合及数据结构第九节————树和二叉树
  • SSL/TLS协议信息泄露漏洞修复
  • C++初学(14)
  • 回顾前面刷过的算法(8)
  • 【Leetcode】104. 二叉树的最大深度
  • E-HPC支持多队列管理和自动伸缩
  • JavaScript 基本功--面试宝典
  • Laravel5.4 Queues队列学习
  • leetcode-27. Remove Element
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • rabbitmq延迟消息示例
  • Redis中的lru算法实现
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 码农张的Bug人生 - 初来乍到
  • 巧用 TypeScript (一)
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 新书推荐|Windows黑客编程技术详解
  • 一个SAP顾问在美国的这些年
  • 移动端 h5开发相关内容总结(三)
  • 鱼骨图 - 如何绘制?
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 智能网联汽车信息安全
  • elasticsearch-head插件安装
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #QT(串口助手-界面)
  • #职场发展#其他
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (附源码)计算机毕业设计大学生兼职系统
  • (杂交版)植物大战僵尸
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .Net 垃圾回收机制原理(二)
  • .NET的数据绑定
  • .NET基础篇——反射的奥妙
  • .NET值类型变量“活”在哪?
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ACTF2020 新生赛]Upload 1
  • [c#基础]值类型和引用类型的Equals,==的区别