按一个列表对另一个列表进行排序

2024-02-09

我有 2 个列表对象,一个只是整数列表,另一个是对象列表,但对象具有 ID 属性。

我想要做的是按照与整数列表相同的排序顺序按对象的 ID 对对象列表进行排序。

我已经玩了一段时间了,试图让它发挥作用,到目前为止还没有什么乐趣,

这是我到目前为止所拥有的......

//**************************
//*** Randomize the list ***
//**************************
if (Session["SearchResultsOrder"] != null)
{
    // save the session as a int list
    List<int> IDList = new List<int>((List<int>)Session["SearchResultsOrder"]);
    // the saved list session exists, make sure the list is orded by this
    foreach(var i in IDList)
    {
        SearchData.ReturnedSearchedMembers.OrderBy(x => x.ID == i);
    }
}
else
{
    // before any sorts randomize the results - this mixes it up a bit as before it would order the results by member registration date                        
    List<Member> RandomList = new List<Member>(SearchData.ReturnedSearchedMembers);
    SearchData.ReturnedSearchedMembers = GloballyAvailableMethods.RandomizeGenericList<Member>(RandomList, RandomList.Count).ToList();

    // save the order of these results so they can be restored back during postback
    List<int> SearchResultsOrder = new List<int>();
    SearchData.ReturnedSearchedMembers.ForEach(x => SearchResultsOrder.Add(x.ID));
    Session["SearchResultsOrder"] = SearchResultsOrder;
}   

整个要点是,当用户搜索成员时,最初它们会以随机顺序显示,然后如果他们单击第 2 页,它们将保持该顺序并显示接下来的 20 个结果。

我一直在阅读有关 ICompare 可以用作 Linq.OrderBy 子句中的参数的信息,但我找不到任何简单的示例。

我希望有一个优雅、非常简单的 LINQ 风格的解决方案,我总是希望如此。

非常感谢任何帮助。


另一种 LINQ 方法:

 var orderedByIDList = from i in ids 
                       join o in objectsWithIDs
                       on i equals o.ID
                       select o;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按一个列表对另一个列表进行排序 的相关文章

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

    我有一个vector
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 实体框架 - 选择特定列并返回强类型而不丢失强制类型转换

    我正在尝试做类似的事情这个帖子 https stackoverflow com questions 1094931 linq to sql how to select specific columns and return strongly
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

  • 使用 UIDynamicAnimator 水平动画 UIView

    我已经阅读了文档 但我很不好意思地说我很困惑 场景 我有一个UIView 就像一个容纳 3 的容器UIButtons 该容器最初是有界限的 0 0 35 35 里面的每个按钮都有相同的坐标 alpha0 在用户执行特定操作时 容器的边界更改
  • 使用 R 在矩阵中的特定位置插入行

    我正在尝试将行添加到矩阵的特定位置 其中位置包含在向量中 下面的架构显示了输入和预期结果 我尝试使用 for 循环但无法使其工作 任何建议都有帮助 源矩阵 6x3 1 1 2 3 2 4 5 6 3 7 8 9 4 6 9 2 5 3 6
  • eclipse (pom.xml) 中的 Maven 错误:无法传输 org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4

    我想使用 Maven 来创建 Web 项目来自动导入我需要的所有库 所以我选择 maven archetype webpp 之后我在 pom xml 文件上收到此错误 Description Resource Path Location T
  • 属性不可分配给接口中的字符串索引[重复]

    这个问题在这里已经有答案了 我有以下接口 export interface Meta counter number limit number offset number total number export interface Api
  • C# 中的 LFU 缓存?

    C 中是否有现成的 LFU 缓存 Java 有大量的 LFU 缓存实现 应该很容易移植到 C 例如 http faq javaranch com view CachingStrategies http faq javaranch com v
  • 识别图像中的 visio 形状

    在提供 SCADA 解决方案时 我们经常会获得结构化控制图 如下所示的 visio 类似流程图 中指定的最终用户规范 这些规范通常以 PDF 格式或图像形式提交 为了在 C 中访问这些 我希望使用 OpenCV 库之一 我正在研究模板识别
  • C++ 数据库访问库

    背景 我有一个用本机 C 编写的应用程序 它使用 wxWidgets 工具包的 wxODBC 数据库访问库 该库正在removed http wiki wxwidgets org ODBC来自 wxWidgets 的所有未来版本 我需要用另
  • 调用aspx页面随机返回图像慢

    好的 问题来了 我有一个asp net网站 有一个名为GetThumbnail aspx的aspx页面 代码如下 string newThumbnailPath ReaderUtilities GetThumbnailPath ptiId
  • Three.js / OrbitControls 未定义

    当我尝试导入 OrbitControls js 时 出现以下内容 我得到了Cannot use import statement outside a module error 所以 我使用 但这次我得到 ReferenceError Orb
  • 三.js渲染完成

    有没有办法知道对象何时完成渲染 我知道其中一个示例中有一个进度条 但我正在寻找一个简单且不复杂的示例 我已经查看了我正在使用的加载器 OBJMTLLoader 和渲染器 WebGLRenderer 我没有注意到一个简单的 renderer
  • 如何在 Enum 上设置空间

    我想在我的枚举上设置空间 这是我的代码示例 public enum category goodBoy 1 BadBoy 我想设置 public enum category Good Boy 1 Bad Boy 当我检索时我想看到Good B
  • 从 r 连接 oracle

    我是新来的R并尝试使用此处所述的方式连接到 Oracle 我下载了即时客户端 但除了一些 dll 文件之外找不到任何东西 请大家逐步指导我如何从以下位置连接到 Oracle R 我查看了一些解决方案 但它们无法解决 请告诉我是否有连接到 o
  • 如何用 C++ 为 GLSL 制作一维 lut

    我开始了解如何实现片段着色器来执行 1D LUT 但我正在努力寻找任何好的资源来告诉您如何在 C 中制作 1D LUT 然后对其进行纹理处理 因此 对于一个简单的示例 给出以下 1D lut 我会用以下数据创建一个数组吗 int color
  • startService() 从服务类本身

    我尝试从服务类启动 android 服务 这样做的原因是为了实现一定的平台独立性 这样做我在 android content ContextWrapper startService ContextWrapper java 326 处收到 N
  • fromtyping_extensions import ParamSpec ImportError:无法从“typing_extensions”导入名称“ParamSpec”

    我正在研究 FastAPI 并发生了这个错误 from fastapi import FastAPI import uvicorn app FastAPI app get ping async def ping return Hello I
  • ssh 脚本不会将控制权返回给父脚本

    我试图通过将其写入远程服务器的标准输入来执行本地脚本ssh命令 脚本运行良好 但随后ssh不退出 它只是挂起 并且控制权不会返回到父脚本 父外壳 for HOSTNAME in HOSTS do ssh t t HOSTNAME bash
  • 限制要创建的模型实例的数量 - django

    我有一个模型 我只想从中创建一个实例 并且不应允许更多实例 这可能吗 我有一种感觉 我在某个地方看到过这种做法 但不幸的是我无法找到它 编辑 我需要这个来构建一个极其简单的 CMS 我有一个 FrontPage 和 Page 类继承的抽象类
  • R 命令行将文件名传递给参数中的脚本 (Windows)

    我很难将文件名传递给 R 脚本 该文件是一个 csv 文件 其中包含多次运行脚本的批处理参数 我尝试将其包含在此处 以便用户无需编辑 R 脚本即可指定该文件的位置 我的 Windows 命令行语法是 R CMD BATCH slave ar
  • 子类化 UIView 以在 Quartz 中绘制

    我正在尝试使用 Quartz 2D 在我的 iPhone 应用程序中绘制图形 我知道我必须通过子类化 UIView 并重写 drawRect 函数来做到这一点 我正在努力追随this http www techotopia com inde
  • 按一个列表对另一个列表进行排序

    我有 2 个列表对象 一个只是整数列表 另一个是对象列表 但对象具有 ID 属性 我想要做的是按照与整数列表相同的排序顺序按对象的 ID 对对象列表进行排序 我已经玩了一段时间了 试图让它发挥作用 到目前为止还没有什么乐趣 这是我到目前为止