如何按多个 T.attributes 对 List 进行排序?

2024-02-09

假设我有一个歌曲列表。

Song {
    public string Name = "";
    public int PlayOrder = 0;
    }

现在我想首先按播放顺序对它们进行排序,从零开始,然后按名称字母顺序对它们进行排序。

因此,排序结果的示例集将是(名称,播放顺序):

/*
    Pachelbel's Canon, 0
    A Happy Song, 4
    Beethoven's 5th, 4
    Some Other Song, 7
*/

看看 PlayOrder = 4 是如何按字母顺序排列的?这就是我的目的。

现在我只按一个字段排序:

List<Song> final = new List<Song>();

...

final.Sort((x, y) => x.PlayOrder.CompareTo(y.PlayOrder));

return final;

我怎样才能像上面演示的那样按名称排序?


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

如何按多个 T.attributes 对 List 进行排序? 的相关文章

  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 嵌套数组上的 MongoDB $elemMatch 投影

    我有一个这样的集合 摘要 id summaryid locations id loc1 datacenters id dc1 1 clusters id cl1 1 servers
  • 如何在 AngularJS 中从 $http.get 返回图像

    在我的控制器中 我调用一个返回承诺的服务 var onComplete function data scope myImage data 在我的服务中 我通过将 url 直接传递给图像本身来调用以获取图像 return http get h
  • C++ 头文件的解析器可以使用标准 Linux 工具提取函数吗?

    有这样的事吗 我需要从头文件中提取 C 函数及其使用的所有参数 如果我能使用标准的 Linux 程序就好了 您可以使用 Understanding 4 C 这是一个前端工具 可以浏览源代码并为源代码生成指标 它还具有强大的API 允许您编写
  • 更改 Coldfusion 上附件的文件名

    我在用着cfmailparam将文件附加到电子邮件 我正在从数据库中获取文件名和路径 通常 附加文件具有唯一的名称 但我可以通过查询数据库表中的以下列来获取其原始文件名 ASSET FILE NAME 独特的名字 ASSET REAL NA
  • 浮点数学有问题吗?

    考虑以下代码 0 1 0 2 0 3 gt false 0 1 0 2 gt 0 30000000000000004 为什么会出现这些不准确的情况 Binary 浮点 https en wikipedia org wiki Double p
  • 使用 Hive 中的 Month() 获取 MM 中的月份

    Select from concat YEAR DATE SUB MAX Column name 60 MONTH DATE SUB MAX Column name 60 01 The month 仅产生single九月之前的月份数字 即一
  • clang-format AlignAfterOpenBracket 列表参数

    这个帖子 https stackoverflow com questions 21966530 clang format always break if params dont fit问了一个类似的问题 当参数太多时如何修改格式 我非常喜欢
  • 如何解释 Devel::Leak 的输出

    我已经跑了Devel Leak http search cpan org ni s Devel Leak 0 03 Leak pm在我的程序中 我不明白它给我的输出 首先 我看到它正在打印一个指针列表 我可以在数组中获取该列表吗 然后我可以
  • 如何检查 IP 地址是否在特定子网内

    我有一个格式为 10 132 0 0 20 的子网和来自 ASP Net 请求对象的 IP 地址 是否有 NET 框架函数可以检查 IP 地址是否在给定子网内 如果不能的话 怎么办呢 位操作 我猜 看一眼使用 C 计算 IP 地址 http
  • 如何让“page-break-inside:void”与“flex-wrap:wrap”很好地配合

    我想得到page break inside avoid以使用多行 Flexbox 布局的形式工作 使用flex wrap wrap 目的只是为了避免打印时破坏表单问题 这适用于单行 Flexbox 或不使用 Flexbox 查看打印预览ht
  • 如何调用或重新启动MathJax?

    我需要 MathJax 重新检查我的所有页面 我的意思是 当页面创建后 一切都很棒 但我需要在 window onload 之后调用它来重新解析页面 因为其内容同时发生了变化 我该怎么做这样的事呢 See http docs mathjax
  • Spring依赖注入:注入接口的所有实例

    如果可能的话 如何使用实现特定接口的所有其他 Spring bean 集合来配置 Spring bean 示例 我想连接CarFactory带有实现以下功能的 bean 列表的 beanCarManufacturer界面 Inject pr
  • 如何从 SwiftUI 中的函数返回按钮?

    我需要根据一些参数动态创建一个按钮 func buildButton parameter Parameter gt Button switch parameter case Parameter Value1 return Button ac
  • Bootstrap 4 轮播不起作用?

    我有以下 BS4 轮播代码 使用本教程制作的 但是代码不起作用 显示了第一张图像 但我不知道出于什么原因轮播不受控制 并且在任何情况下都不会转到下一张图像 可能的解决方案是什么 div class container div class r
  • nm 输出中的“_GLOBAL__sub_I_”是什么意思?

    当我尝试解决静态链接中的问题时 我遇到了一些问题 GLOBAL sub I 符号名称前面的前缀 尽管我使用过 但它以这种形式出现nm demangle C 我偶然发现了这个答案 如何找到全局静态初始化 https stackoverflow
  • Docker 名称解析暂时失败 [Errno -3]

    我正在关注码头工人教程 https docs docker com get started part2 我必须使用以下方法构建应用程序 docker build t friendlyhello 它到达第 4 步 暂停后我收到此错误 Step
  • Node.js 中 require 的正确方法是什么?

    我刚刚开始使用 Node js 和 Electron 并且在文档和示例代码中都看到了有关如何请求模块的各种方法 具体来说 我正在尝试遵循this https medium com developers writing building a
  • 如何获取 ASP.NET MVC 中 HttpResponse 的引用?

    我正在调用一个第三方库 它需要System Web HttpResponse 我看到我有一个HttpResponseBase 但不是HttpResponse就像网络表单一样 有没有办法获得HttpResponse Using MVC 3 E
  • 为什么 Manifest 被弃用了?什么时候应该使用 ClassTag,什么时候应该使用 TypeTag

    我有几个问题Manifest and TypeTag 据我了解 JVM 不了解泛型并删除类型 所以我不能这样做 def factoryForAll T new T will not compile Runtime doesn t know
  • 如何按多个 T.attributes 对 List 进行排序?

    假设我有一个歌曲列表 Song public string Name public int PlayOrder 0 现在我想首先按播放顺序对它们进行排序 从零开始 然后按名称字母顺序对它们进行排序 因此 排序结果的示例集将是 名称 播放顺序