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

C# ConcurrentDictionary 中获取指定范围的元素

要从 ConcurrentDictionary<string, SlaveInfo> 中获取第 2 到第 5 个元素(索引 1 到 4,因为索引从 0 开始),可以使用 LINQ 的 Skip() 和 Take() 方法。不过需要注意的是,ConcurrentDictionary 是无序集合,获取的元素顺序可能不固定。

以下是实现方法:

using System;
using System.Collections.Concurrent;
using System.Linq;class Program
{static void Main(){// 创建示例ConcurrentDictionaryConcurrentDictionary<string, SlaveInfo> node_E8030312 = new ConcurrentDictionary<string, SlaveInfo>();// 添加示例数据for (int i = 1; i <= 10; i++){node_E8030312.TryAdd($"Key{i}", new SlaveInfo { Id = i, Name = $"Slave{i}" });}// 获取第2到第5个元素(索引1到4)var rangeItems = node_E8030312.Skip(1).Take(4).ToList();// 输出结果Console.WriteLine("获取第2到第5个元素:");foreach (var item in rangeItems){Console.WriteLine($"Key: {item.Key}, Value: Id={item.Value.Id}, Name={item.Value.Name}");}}
}// 示例类
class SlaveInfo
{public int Id { get; set; }public string Name { get; set; }
}

这段代码的核心是使用 Skip(1).Take(4)

  • Skip(1) 跳过第一个元素(索引 0)
  • Take(4) 获取接下来的 4 个元素(索引 1-4)

如果需要按照特定顺序获取元素(比如按照键排序),可以先排序再取范围:

// 按照键排序后获取范围
var sortedRange = node_E8030312.OrderBy(kv => kv.Key)  // 按键排序.Skip(1).Take(4).ToList();

或者,如果你的 SlaveInfo 类有特定的属性需要排序:

// 按照SlaveInfo的Id属性排序后获取范围
var sortedByIdRange = node_E8030312.OrderBy(kv => kv.Value.Id).Skip(1).Take(4).ToList();

需要注意的是,ConcurrentDictionary 的元素顺序是不确定的,除非你显式排序。如果元素的顺序对你很重要,建议使用其他有序集合或在查询时明确指定排序方式。

相关文章:

  • 解密Spring Boot:深入理解条件装配与条件注解
  • 教师端用户操作手册
  • 使用 C/C++、OpenCV 和 Libevent 构建联网人脸识别考勤系统 [特殊字符]‍[特殊字符]
  • docker和docker-compose的版本对应关系怎么看?
  • 顶顶通电话机器人功能列表
  • Spring Security是如何完成身份认证的?
  • 紫光展锐T8300以创新音频技术重塑感知世界
  • kafka-生产者(day-2)
  • python打卡第49天
  • 康谋方案 | 高精LiDAR+神经渲染3DGS的完美融合实践
  • 提升电子商务平台安全的有效策略
  • SSD,emmc 的写放大
  • k8s在节点上加污点
  • argocd部署cli工具并添加k8s集群
  • 数据安全进阶:30页数据安全管理培训精读【附全文阅读】
  • 跨域的本质与实战:从理论到松鼠短视频系统的演进-优雅草卓伊凡|卢健bigniu
  • window 显示驱动开发-如何查询视频处理功能(六)
  • 【Bluedroid】蓝牙启动之 RFCOMM_Init 流程源码解析
  • Android 默认第三方app运行权限(android11-13)
  • 【测试专栏】自动化测试——云存储项目
  • 广州有做网站的公司吗/益阳网络推广
  • wordpress建站比较/2024年1月新冠高峰
  • 网页制作多少钱一个月/网站是怎么优化的
  • 来凡网站建设公司/关键词出价计算公式
  • 如何做网站咨询/世界杯排名
  • 注册域名后网站建设/北京seo推广系统