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

C# 中常用集合以及使用场景

1. 数组 (Array)

  • 特点‌:固定大小、内存连续、访问速度快
  • 使用场景‌:
    • 需要高性能的固定大小集合
    • 数值计算(如矩阵运算)
    • 存储已知长度的数据(如配置文件参数)

2. List<T>

  • 特点‌:动态数组、自动扩容、支持索引访问
  • 使用场景‌:
    • 需要频繁增删的集合(比数组更灵活)
    • 数据缓存(如从数据库读取的记录集)
    • 需要 LINQ 操作的场景

3. Dictionary<TKey, TValue>

  • 特点‌:键值对、哈希表实现、快速查找
  • 使用场景‌:
    • 需要快速通过键查找值(如缓存系统)
    • 配置项存储(如键值对配置)
    • 数据分组统计

4. HashSet<T>

  • 特点‌:唯一性保证、高性能集合运算
  • 使用场景‌:
    • 去重操作(如日志去重)
    • 集合运算(并集、交集等)
    • 快速判断元素是否存在

5. Queue<T>

  • 特点‌:先进先出 (FIFO)
  • 使用场景‌:
    • 任务队列(如后台任务处理)
    • 消息队列模拟
    • 广度优先搜索 (BFS) 算法

6. Stack<T>

  • 特点‌:后进先出 (LIFO)
  • 使用场景‌:
    • 撤销操作(如文本编辑器撤销栈)
    • 深度优先搜索 (DFS) 算法
    • 表达式求值(如括号匹配)

7. LinkedList<T>

  • 特点‌:双向链表、高效插入/删除
  • 使用场景‌:
    • 频繁在中间插入/删除的场景
    • 实现 LRU 缓存
    • 需要前后遍历的集合

8. ObservableCollection<T>

  • 特点‌:数据变更通知(实现 INotifyCollectionChanged)
  • 使用场景‌:
    • WPF/Silverlight 数据绑定
    • 需要实时更新 UI 的集合

9. SortedDictionary/SortedList<TKey, TValue>

  • 特点‌:按键排序的字典
  • 使用场景‌:
    • 需要按键排序的键值对
    • 范围查询(如查找 10~20 之间的键)

10. Concurrent Collections(线程安全集合)

  • 包含类型‌:
    • ConcurrentBag<T>(无序集合)
    • ConcurrentQueue<T>
    • ConcurrentStack<T>
    • ConcurrentDictionary<TKey, TValue>
  • 使用场景‌:
    • 多线程环境下的共享集合
    • 并行计算任务分配
http://www.lryc.cn/news/615795.html

相关文章:

  • 本地WSL部署接入 whisper + ollama qwen3:14b 总结字幕增加利用 Whisper 分段信息,全新 Prompt功能
  • Framework开发之Zygote进程2(基于开源的AOSP15)--init.rc在start zygote之后的事情(详细完整版逐行代码走读)
  • 《解锁 C++ 基础密码:输入输出、缺省参数,函数重载与引用的精髓》
  • 【Linux | 网络】数据链路层
  • 九、Linux Shell脚本:运算符与表达式
  • 开启单片机
  • 服务器硬件电路设计之 I2C 问答(三):I2C 总线上可以接多少个设备?如何保证数据的准确性?
  • 笔试——Day34
  • 亚麻云之全球加速器——CloudFront(CDN)服务入门
  • 【Docker实战】Spring Boot应用容器化
  • ShadowKV 机制深度解析:高吞吐长上下文 LLM 推理的 KV 缓存“影子”方案
  • Python爬虫-爬取政务网站的文档正文内容和附件数据
  • 【后端】Java 8 特性 `User::getId` 语法(方法引用)介绍
  • 【东枫科技】NTN-IOT 卫星互联网原型系统,高达1.6G大带宽
  • MPLS特性之PHP(Penultimate Hop Popping)
  • Android快速视频解码抽帧FFmpegMediaMetadataRetriever,Kotlin(2)
  • 【软考中级网络工程师】知识点之 DCC 深度剖析
  • 【21】OpenCV C++实战篇——OpenCV C++案例实战二十七《角度测量》
  • Perplexity 为特朗普 Truth Social 提供技术支持
  • 如何培养自己工程化的能力(python项目)
  • Pytorch深度学习框架实战教程12:Pytorch混合精度推理,性能加速147%的技术实现
  • 若依前后端分离版学习笔记(八)——事务简介与使用
  • Apache Pulsar性能与可用性优化实践指南
  • NLP---IF-IDF案例分析
  • C++高频知识点(十九)
  • 【面试场景题】异地多活改造方案
  • 【Matplotlib】中文显示问题
  • 【论文阅读】Deep Adversarial Multi-view Clustering Network
  • Docker 镜像常见标签(如 `标准`、`slim`、`alpine` 和 `noble`)详细对比
  • 随想记——excel报表