使 ParallelEnumerable.OrderBy 稳定排序

2024-01-22

我正在使用对象的整数 id 并行对对象列表进行排序OrderBy。我有一些具有相同 id 的对象,并且需要排序保持稳定。

根据微软的文档 https://learn.microsoft.com/en-us/dotnet/api/system.linq.parallelenumerable.orderby,并行化的OrderBy不稳定,但是有一个实现方法可以使其稳定。但是,我找不到这方面的例子。

var list = new List<pair>() { new pair("a", 1), new pair("b", 1), new pair("c", 2), new pair("d", 3), new pair("e", 4) };
var newList = list.AsParallel().WithDegreeOfParallelism(4).OrderBy<pair, int>(p => p.order);

private class pair {
  private String name;
  public int order;
 
  public pair (String name, int order) {
    this.name = name;
    this.order = order;
  }
}

备注为另一个OrderBy method http://msdn.microsoft.com/en-us/library/dd383662.aspx建议这种方法:

var newList = list
   .Select((pair, index) => new { pair, index })
   .AsParallel().WithDegreeOfParallelism(4)
   .OrderBy(p => p.pair.order)
   .ThenBy(p => p.index)
   .Select(p => p.pair);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使 ParallelEnumerable.OrderBy 稳定排序 的相关文章

  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 按成员序列化

    我已经实现了template
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • WCF 中 SOAP 消息的数字签名

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

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

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 如果应用程序已经启动一次,如何阻止用户第二次进入登录屏幕?

    我正在制作一个具有登录屏幕的应用程序 登录的验证和其他内容由网络服务处理 我的问题是 如果用户安装了该应用程序 那么如果用户第一次运行该应用程序 则会出现一个登录屏幕 通过用户在从市场下载时提供的详细信息进行登录 如果用户成功登录 则第二次
  • AngularJS:在 ng-repeat 生成的范围中设置变量

    如何访问 ng repeat 生成的范围集 我想这的核心是这样一个事实 我不太明白 a 我传递到 ng repeat 指令的对象集合和 b 它生成的范围集合之间的关系是如何工作的 我可以使用 a ng repeat 作用域会监视并拾取该作用
  • 使用自定义文件格式注册ForDraggedTypes

    开发人员文档没有提供 registerForDraggedTypes 方法的完整描述 例如 我希望我的应用程序仅允许访问 abc 文件 我怎样才能做到这一点 如果您希望将文件拖到您的视图中 您应该注册NSFilenamesPboardTyp
  • 不同列的条件平均值

    我有一个像这样的 R 数据框 city2001 lt c a b a grade2001 lt c 5 5 7 city2002 lt c b b a grade2002 lt c 8 9 10 df lt data frame city2
  • 根据条件删除列表中的元素

    我有一个名为 Info 的类 其中 Info 有一个字符串类型实例变量 可以通过以下方式访问 Info getName 我还有一个实例信息列表 例如class list Info Aleck Info John Given a name l
  • 无法将类型“System.Web.Mvc.RedirectToRouteResult”隐式转换为“System.Web.Mvc.JsonResult”

    我如何将操作从 JsonResult 重定向到 ActionResult 但出现错误 我的错误是 无法将类型 System Web Mvc RedirectToRouteResult 隐式转换为 System Web Mvc JsonRes
  • pthread 与 python VM 的回调

    假设我有一个 python 脚本 它通过 ctypes 加载共享库 SL SL 设置了一个pthread T1 python 脚本通过 SL 配置回调 即 python 脚本通过引用 python 可调用项从 SL 调用函数 替代文本 ht
  • 如何通过互联网使用 MQTT?

    目前 我正在成功运行一个 mosquitto 代理 订阅主题并与本地网络中的客户端发布消息 如何与位于不同 IP 地址的另一个本地网络进行通信 我应该设置 2 个 mosquitto 经纪人 每个本地网络一个吗 其他本地网络中的 PC 需要
  • 以编程方式为本地存储库创建 NuGet 包

    我正在编写一个控制台应用程序来创建 NuGet 包 使用 Nuget Core 库 该包将托管在我们的内部服务器上以部署到我们的应用程序中 当我们使用 NuGet Package Explorer 手动创建包时 这一切都可以正常工作 但我们
  • XAML 解析器如何识别 NameScope?

    在 XAML 解析的上下文中 我想知道解析器如何知道类型何时定义 NameScope 它是否完全依赖于 INameScope 接口 检查instance is INameScope 它是否依赖于布尔属性 XamlType IsNameSco
  • 复合主键+外键

    我有一个包含调查列表的表 PK 是 ID CREATE TABLE dbo SurveyMaster ID nvarchar 4 NOT NULL Title nvarchar 200 NULL IsActive bit NOT NULL
  • iBeacons:如何获取广播信标功率(txPower)

    iBeacons 似乎广播其 txPower 参数 报告 1 米距离处的 RSSI 功率 该参数用于计算beacon accuracy and beacon proximity属性 有关 iBeacon 广告包的详细信息 请参见here h
  • 如何防止 ion-checkbox 选择相同的项目值?

    这是一个手风琴列表菜单 在菜单的第三层 我为每个项目放置了一个复选框 此代码已经从所选项目中获取了值 但问题是当我取消选择时 它会让我获取其值 如何防止复选框选择相同的项目并在选择后取消 表单 html
  • scrapy单个蜘蛛将多个项目类传递到管道

    我是 scrapy 新手 在 items py 中 我声明了 2 个 ItemClass 分别称为 ItemClass1 和 ItemClass2 蜘蛛方法 parseUrl 获取 html 并抓取数据并将其放入相应项目类的列表中 e g
  • Corda:错误=org.hibernate.InstantiationException:没有实体的默认构造函数

    我遇到了一个问题 请帮忙 基于 M13 的 Corda 代码 我的架构代码主要用于定义架构来引用您的示例 object LegalContractSchemaV1 MappedSchema schemaFamily LegalContrac
  • jQuery - 从 DOM 中删除元素时触发事件

    我试图弄清楚当从页面中删除元素时如何执行一些js代码 jQuery some element remove remove some element from the page need to figure out how to indepe
  • PHP file_get_contents 与 php 完好无损吗?

    与使用 include 不同 include 执行文件中包含的 php 是否可以将 php 文件的内容保存到变量中 但 php 仍然完整且可执行 我的目标看起来像这样 template some imaginary include func
  • 如何获得从1到N随机排序的数字数组?

    下面的代码生成一个数组N整数随机数并将结果存储在random int array N 20 allocate array N 2 call random seed call random number array random int ar
  • 响应UIWebView点击动作调用原生代码页面

    我正在寻找一种方法来监听 UIWebView 中的操作 例如 当我点击 UIWebView 内的链接或按钮时 我想调用一个新的本机组件 例如评论页面 或者 采取其他一些操作 例如更改导航栏项目 是的 你可以这样做 实施 webView sh
  • 使 ParallelEnumerable.OrderBy 稳定排序

    我正在使用对象的整数 id 并行对对象列表进行排序OrderBy 我有一些具有相同 id 的对象 并且需要排序保持稳定 根据微软的文档 https learn microsoft com en us dotnet api system li