当前位置: 首页 > 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 ——> 怪物对象
 等等


http://www.mrgr.cn/news/8575.html

相关文章:

  • 【商城功能系统开发】
  • <C++> 多态
  • 物联网架构之Hadoop(分布式文件系统与企业级应用)
  • vue3+ts+Go使用百度地图路书实现历史轨迹回放、轨迹回放进度、聚合点、自定义弹框和实时监控视频、多路视频轮巡播放
  • 学习小结8.25
  • 90. UE5 RPG 实现技能的装配
  • CF E. Best Pair
  • 什么是同源策略?
  • ViewModel(4)数据存储和管理
  • 车辆电子围栏系统:守护爱车安全的智能新防线
  • 墨刀基础篇(一):全局事件和动效
  • 2024世界机器人大会盛大开幕,卓翼飞思携无人智能领域产品集中亮相 !
  • 【信创】Linux上lsof命令详解 _ 统信 _ 麒麟 _ 方德
  • MSSQL 工具注入(第一关)
  • 解决在移动端css使用100vh底部被遮盖的问题
  • EmguCV学习笔记 VB.Net 6.5 凸包和凸缺陷
  • 秋招力扣Hot100刷题总结——栈和队列
  • 前端宝典十六:深入浅出8大设计模式
  • 【Material-UI】Radio Group中的 Size 属性详解
  • 51单片机——按键控制