SortedDictionary 中的第一项?

2023-12-01

有许多,many讨论如何从 a 中获取“第一个”项目Dictionary,以及关于为什么这样的事情实际上不是一个好主意的各种答案,因为没有内部顺序。但我的是一个SortedDictionary,所以这些论点不适用。但我找不到从 a 中获取第 N 个项目的方法SortedDictionary比a更容易Dictionary.

这是我的 SD:

FRs As SortedDictionary(Of DateTime, ScheduleItem)

我看到一些我应该能够做到的提示:

If FRs.Count = 1 Then
    FirstFR = FRs.Keys(0)

但这在我的代码中无效 - 它说它没有默认值并且无法索引。.First其他选项似乎都在 LINQ 中,我无法瞄准它。那么有什么简单的方法可以以这种方式访问​​它吗?

注意:提供的任何解决方案不得使用 LINQ,这在许多非 Wintel 平台上并不存在。


问题是一个SortedDictionary确实是按键排序的。但这并不意味着您可以通过索引访问它。因此,如果您无法使用 LINQ:

Dim firstFR As KeyValuePair(Of DateTime, ScheduleItem)
For Each kv In FRs
    firstFR = kv
    Exit For
Next

否则你可以简单地使用First/ FirstOrDefault.

旁注:自从KeyValuePair(Of Tkey, TValue)是一个结构,因此是一个值类型,它永远不是null/Nothing。你可以用这种丑陋的方式检查空字典:

If firstFR.Equals(New KeyValuePair(Of DateTime, ScheduleItem))
    Console.WriteLine("Empty dictionary")
End If 

所以使用起来更具可读性If FRs.Count = 0 Then ....


Update:如果您只想要给定索引处的键或值,您可以使用:

Dim firstSchedule As Date = FRs.Keys(0)

或第一个Date in it:

Dim firstDate As ScheduleItem = FRs.Values(0)

通过这种方式,即使没有 LINQ,您实际上也可以通过索引获取两者:

Dim firstFR = new KeyValuePair(Of DateTime, ScheduleItem)(FRs.Keys(0), FRs.Values(0))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SortedDictionary 中的第一项? 的相关文章

  • 我仍然没有获得代表

    使用委托不是可以帮助处理一些异步情况吗 我尝试了以下操作 但我的用户界面仍然挂起 你到底什么时候使用代表 Public Class Form1 Private Delegate Sub testDelegate Private Sub Bu
  • VB.NET 中共享变量有什么用?

    有什么用SharedVB NET 中的变量 它是一样的static在 C 和大多数其他语言中 这意味着类中的每个对象都使用变量 属性或方法的相同副本 当与静态方法一起使用时 您不需要对象实例 MyClass DoSomething 而不是
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 使用 .NET 将两个 PNG 图像合并为一张图像

    我有两个 其实很多 PNG http en wikipedia org wiki Portable Network Graphics png 我的应用程序中的图像 两者都有透明区域 我想在我的应用程序中拍摄两个图像 将它们组合起来 并将结果
  • C#“var”关键字在 VB.NET 中的等价物是什么?

    例如 我如何获得 VB NET静态类型局部变量是static赋值右侧的表达式的类型 像这样 Dim http msdn microsoft com en us library 7ee5a7s1 aspx我的变量 3 你还需要 选项推断 ht
  • 如何从网页启动 Windows 应用程序?

    我们有一个公司内部网 并且权力机构认为拥有一组代表大多数代表使用的应用程序 Outlook Excel 少数其他应用程序 的图标 链接会很好 这个想法是 如果安装了应用程序 单击链接 图标将在客户端计算机上启动该应用程序 有人曾经有过这样的
  • 您可以传递“类型”作为参数吗?

    我想在 VB NET 中做类似以下的事情 可以吗 Function task value as Object toType as Type Return DirectCast value toType End Function 是的 有系统
  • 为什么在 C# 中成员初始值设定项中不允许这样做,但在 VB.Net Me 中允许

    我正在将 VB Net 应用程序转换为 C 并注意到在 VB Net 代码中 有一个私有成员变量 它是使用Me像这样 Private m ClassA As New MyCollection Of ClassA Me 当我将其转换为 C 代
  • 将Access数据库中存储的图片加载到VB.NET程序中

    我有一个通过数据源与 VB 项目链接的 Access 数据库 在其中一个表的数据库中 我有一个 OLE 对象字段 我在此字段中保存了 BMP 格式和 JPG 格式的图片 我遇到的问题是将这张图像加载到我的应用程序中 这就是我希望能够做到的
  • .NET 图形重影

    我正在为我们正在开发的新应用程序制作一个示例 GUI 我已经决定了语言 但我可以使用任何第 3 方 DLL 或插件或任何我需要的东西 以使 GUI 尽可能无缝地工作 他们希望它非常像 mac ubuntu vista Windows 7 所
  • 从空白启动时 VSTO 功能区不显示解决方案

    如果我从 文件 新建项目 菜单创建一个新的 Excel 2013 和 2016 VSTO 加载项 项目 然后单击 项目 添加新项目 gt 功能区 可视化设计器 则一切正常 我启动了应用程序 我的功能区显示在 Excel 中 但是 如果我首先
  • DataGridView 使用 Structure 和 LINQ 来排序 txt 文件

    当我的程序出现问题时 我能够将所有数据拉入网格并进入正确的列 行 但是 我相信我的 LINQ 查询是错误的 它没有使第三列正确划分并插入正确的数据 我的结果 https gyazo com 0f307a10dff4c015a361708ec
  • LinqToSql 声明和实例化 DataContext 最佳实践?

    设置 DataContext 以便在扩展 LinqToSql 类中轻松访问方面的最佳实践是什么 例如 我的 dbml 中有一个 User 实体 我想向该类添加方法 如下所示 Partial Public Class User Public
  • Visual Studio 改变 Ctrl-K-D 的工作方式

    In Visual Studio I m using 2012 is there any way of editing the way that Ctrl K D combinations handles its Auto Formatti
  • 如何创建未定义的循环计数

    我正在尝试创建一个程序 它将循环遍历所有字母 我想要例如显示aaaa then aaab to aaaz then aaba依此类推zzzz 问题是 如何让用户输入字母计数 这是我的代码 只有 3 个字母 Dim abc As String
  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • 设置表单的背景颜色

    Private Sub HScrollBar1 Scroll ByVal sender As Object ByVal e As ScrollEventArgs Handles HScrollBar1 Scroll Me BackColor
  • 检查 DBNull 会引发 StrongTypingException

    我正在使用数据集从数据库中提取数据 一行中的一个字段是NULL 我知道这个 但是 以下 vb net 代码会抛出StrongTypingException 在数据集设计器中自动生成的 get SomeField 方法中 If Not IsD
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • 通过名称访问表单的控件

    不确定这篇文章的标题是否准确 我试图通过在循环中 组合 它们的名称来访问 Windows 窗体控件及其属性 但我似乎找不到相关文档 使用VB net 基本上 假设我有以下内容 Dim myDt As New DataTable Dim ro

随机推荐

  • C 中返回数组?

    我无法在 C 中返回数组 我对 C 很陌生 所以我可能会犯一些有趣的错误 这里是 代码 define MAXSIZE 100 int recievedNumbers MAXSIZE void setup put your setup cod
  • 在 Discord.py 中获取用户的邀请总数

    我正在尝试向我的机器人添加一个命令 该命令会回复用户邀请到服务器的总人数 My code if message content startswith invites totalInvites message guild invites aw
  • 谁能解释为什么换行符会使 JavaScript 中的 return 语句未定义? [复制]

    这个问题在这里已经有答案了 这一直是我几个小时痛苦的根源 谁能解释为什么会这样 function x return when there s a line break it doesn t work 2 alert x function y
  • 正则表达式匹配任何字符,包括换行符

    是否有正则表达式来匹配 包括换行符在内的所有字符 例如 在下面的正则表达式中 没有输出 2因为 匹配时不包括新行 string START Curabitur mollis dolor ut rutrum consequat arcu ni
  • 我可以使用 Javascript 将 CSS 样式属性打印到控制台吗?

    还有另一个基本问题 我似乎无法在网上找到答案 我可以使用 javascript 轻松更改元素的 CSS 属性 document getElementById ExampleID style height 30px 但是每当我尝试将属性打印到
  • 如何确保 WidgetKit 视图显示 @FetchRequest 的正确结果?

    我有一个将 Core Data 与 CloudKit 结合使用的应用程序 更改在设备之间同步 主要目标具有后台模式功能 并带有选中的远程通知 主目标和小部件目标都具有相同的应用程序组 并且都具有 iCloud 功能 服务设置为 CloudK
  • 简单的 jquery 下拉菜单 -clearTimeout、setTimeout 问题

    HTML ul class topnav li a href span One span a li li a href span Two span a li li li li a href span Three span a li ul c
  • 使用表单身份验证获取 Windows 用户名的更好方法?

    我继承了一个使用表单身份验证的项目 但最近的功能请求要求我获取某些用户的 Windows 用户名 这是一个使用表单身份验证的网站 我不想更改它 此时工作量太大 但我有一个功能请求 允许我们的内部用户更轻松地登录 通常无需输入他们的密码或用户
  • 如何阻止 c)change 复制到我的粘贴缓冲区?

    我想做的一个常见的事情是猛拉 some text 然后用它来改变 some other text 所以我将光标移至一些文本 然后yi 抓住some text 我现在该如何更换some other text 如果我做di 然后我的复制粘贴寄存
  • 下载的可执行文件无法在主机上执行 - MacOS Monterey 12.4,Silicon Chip

    我最近尝试运行我的 flutter 应用程序 但是 当我尝试这样做时 出现以下错误 An error was encountered processing the command domain NSPOSIXErrorDomain code
  • z3Opt 使用 qfnra-nlsat 优化非线性函数

    我正在尝试使用 z3Opt 来优化真正的非线性函数 但即使对于像下面这样的简单情况 http rise4fun com Z3Opt JbaU 结果不是预期的那样 就像 z3 一样 它根本没有优化 任何人都可以帮助我理解吗 目前不支持非线性函
  • 选择带有空格或某个字符的数据属性值

    我试图选择一个包含空格或特定字符的数据属性值 但它不太喜欢它 下面是我为单字属性值工作的代码 div data roomtype this data roomtype animate opacity 0 1 100 我还整理了一个非常简化的
  • 使用 Kustomize 跨多个环境和应用程序进行通用配置

    是否可以有一个在多个环境和应用程序之间共享的通用配置文件 例如 ConfigMap 我知道通过多个环境叠加来实现这一点很简单 但是对于应用程序来说 高于它的级别怎么样 如果我有以下结构 Base App1 Configmaps Kustom
  • jQuery 按键箭头键

    我试图在 jQuery 中捕获箭头键按下 但没有触发任何事件 function html keypress function e console log e 这会生成字母数字键的事件 但删除键 箭头键等不会生成事件 我做错了什么而没有捕捉到
  • CSS 选择器 - 选择特定的子元素

    这是我的代码片段 div class totals table table div
  • Ruby 中的“eval”什么时候是合理的?

    eval 应该是令人讨厌的吗 启发了这一点 大多数人都同意eval不好 在大多数情况下有更优雅 更安全的替代品 所以我想问 如果eval经常被滥用 它真的需要作为一种语言功能吗 难道是恶多于善吗 就我个人而言 我发现它唯一有用的地方是插入配
  • 如何在 C# 中将 Unicode 值转换为表情符号字符串? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我正在尝试将如下所示的表情符号转换为 C 代码 以便我可以将代码放入 TreeView 节点或 facebook 或其他社交引擎中 我尝试了飞机的代码 并在树节点中显示了一架小飞机 但
  • Java——关闭扫描器和资源泄漏

    我正在学习 Java 并从事一些有趣的项目 我遇到的一个问题是 当我使用Scannerobject Eclipse 警告我 资源泄漏 扫描 永远不会关闭 所以 我添加了一个scan close 在我的代码末尾 它会处理警告 问题的出现是因为
  • 使用 Asp.net Core 的 FromForm 和 IFormFile

    我想上传带有模型数据的图像文件 所以我使用FromForm with IFormFile in Asp net core api HttpPost public IActionResult AddData FromForm AddDataM
  • SortedDictionary 中的第一项?

    有许多 many讨论如何从 a 中获取 第一个 项目Dictionary 以及关于为什么这样的事情实际上不是一个好主意的各种答案 因为没有内部顺序 但我的是一个SortedDictionary 所以这些论点不适用 但我找不到从 a 中获取第