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

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(使用前将#替换为@)

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

随机推荐

  • 使用 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 对对象列表进行排序 我已经玩了一段时间了 试图让它发挥作用 到目前为止还没有什么乐趣 这是我到目前为止