C# 中字符串数组的自定义排序

2024-05-26

我有一个字符串数组或数组列表,它被传递到我的 C# 程序中。以下是这些字符串所包含内容的一些示例:

《2009 年春季》 《总和2006》 《2010 年秋季》 《2007 年秋季》

我希望能够按年份和季节对这个数组进行排序。有没有办法编写一个排序函数来告诉它按年份排序,然后按季节排序。我知道如果他们分开会更容易,但我无法控制给予我的东西。


您需要编写一个方法,以适当的方式比较任何两个字符串,然后您可以将该方法转换为Comparison<string>委托传递给Array.Sort:

public static int CompareStrings(string s1, string s2)
{
    // TODO: Comparison logic :)
}
...

string[] strings = { ... };
Array.Sort(strings, CompareStrings);

您也可以使用通用列表执行相同的操作:

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

C# 中字符串数组的自定义排序 的相关文章

  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • TeamCity:防止 2 个构建同时运行

    我不希望构建配置 A 和构建配置 B 同时运行 这是因为它们共享无法同时访问的相同资源 然而 每个构建配置都由单独的代理运行 因此它们可以同时运行 相反 我希望一个构建配置在触发时等待另一个构建配置 如果它正在运行 完成 例如 如果构建配置
  • 如何解决这个错误--dbWriteTable()

    我成功连接到 MYSQL DB 并尝试将结果写回数据库 dbWriteTable con predicted min forecast min 其中 Forecast min 只是双精度向量 我收到此错误消息 函数 类 fdef mtabl
  • Async/Await - 如何在递归 Ajax 函数中实现 Javascript Async-Await?

    我有两个功能 I call trendyolStocksUpdate 内部有循环的函数多次syncTrendyolOFFStocks 功能 I used async await but trendyolStocksUpdate 函数不是按顺
  • Android 是否可以使用并发插值器?

    我有一组两个动画 两个动画使用过冲插值器一起运行
  • 如何使用 Entity Framework Core 保存字符串列表?

    假设我们有一个如下所示的类 public class Entity public IList
  • 使用 SkiaSharp 在 Xamarin 中加载 SVG 文件

    从版本 1 55 0 开始 SkiaSharp 支持读取 SVG 文件 该软件包已于几天前发布 2016 年 11 月 10 日 但我找不到足够的有关如何使用它的文档 需要以下包 SkiaSharp 1 55 0 SkiaSharp 视图和
  • 在 python 上获取大目录文件列表的最佳方法?

    我有一个疯狂的大目录 我需要通过 python 获取文件列表 在代码中我需要获取迭代器 而不是列表 所以这不起作用 os listdir glob glob uses listdir os walk 我找不到任何好的库 帮助 也许是c li
  • 如何在全屏视图前面显示 NSPanel?

    我的应用程序以全屏方式运行 我需要类似 iOS 的 UIPopoverController 之类的东西 第一个想法是使用 NSPanel 但我无法让它显示在全屏视图前 我需要一个类似 UIPopoverController 的 Cocoa
  • 重新索引 pandas DataFrame 以填充缺失的日期

    我在 pandas DataFrame 中有每日数据df缺少某些日期 例如下面的 1980 年 12 月 25 日 我想重新索引 DataFrame 以添加具有 NaN 值的日期 date close None 0 1980 12 12 2
  • .zip 压缩内部是否维护校验和?

    zip 存档内部是否维护其中文件的校验和 如果它维护校验和 我如何确定校验和在解压过程中得到验证 是否可以在不解压的情况下验证校验和 是的 zip 保存存档中每个文件的 CRC 32 校验和 并且应该在解压缩过程中对其进行验证
  • Haskell 中的所有内容都存储在 thunk 中吗,甚至是简单的值?

    以下值 表达式 函数的 thunk 在 Haskell 堆中是什么样子的 val 5 is val a pointer to a box containing 5 add x y x y result add 2 val main prin
  • asp.net 核心、角度 2、PrimeNG

    I use aspnetcore spa 模板 https www npmjs com package generator aspnetcore spa作为创建管理面板的起点 接下来我添加PrimeNG http www primeface
  • Bootstrap 日期选择器切换禁用

    我正在使用 bootstrap datepicker 并遇到问题 当我点击某一天时 效果很好 但是当我再次点击同一天时 效果很好 选择被取消 The 引导日期选择器演示 http eternicode github io bootstrap
  • 导入的Sass文件找不到字体文件

    我正在使用 gatsby plugin sass 来包含我的 sass 文件 我有一个web animations sass导入的文件 typography sass My typography sass有一个像这样的字体声明 font f
  • ASP.NET MVC 3 文件夹结构

    在了解了传统 ASP NET Webform 的背景后 我正在学习 MVC 框架 我正在开发一个典型的示例电子商务网站 该网站具有公共域 然后能够注册提供对安全会员区域的访问的服务 我有几个问题 在 ASP NET 中 私有成员页面通常与公
  • SonarQube 5.1.1 加载项目存储库时发生读取超时错误

    在使用声纳运行器分析多模块项目时 我经常收到 读取超时 错误 我为 Jenkins 配置了 SonarQube 5 1 1 我们的项目是一种 Web 项目 我们有几个用于分析的声纳插件 如 web css java findbugs js
  • Perforce 中的“协调离线工作”对我不起作用

    在适用于 32 bin Windows 的 Perforce Visual Client 2009 1 版本中 协调离线工作 选项会执行奇怪的操作 在应该显示 本地文件不在仓库中 的中间框中 我什么也没得到 我所看到的是 第一次协调文件夹时
  • COM+ 应用程序死锁故障排除

    我正在尝试对间歇性死锁的 COM 应用程序进行故障排除 上次锁定时 我能够获取 dllhost 进程的用户模式转储并使用 WinDbg 对其进行分析 检查完所有线程和锁后 一切都归结为该线程拥有的关键部分 ChildEBP RetAddr
  • 提交表单而不重定向

    我想提交表单而不重定向页面 表单已提交给第三方 因此我无法在 php ini 中进行更改 我想做的是 无需访问第三方页面即可提交 成功提交后显示警报 目前我正在使用隐藏的 iframe 和表单目标来隐藏 iframe 但我不满意 有没有更好
  • C# 中字符串数组的自定义排序

    我有一个字符串数组或数组列表 它被传递到我的 C 程序中 以下是这些字符串所包含内容的一些示例 2009 年春季 总和2006 2010 年秋季 2007 年秋季 我希望能够按年份和季节对这个数组进行排序 有没有办法编写一个排序函数来告诉它