gpt4 book ai didi

c# - 按列表排序

转载 作者:IT王子 更新时间:2023-10-29 03:41:13 27 4
gpt4 key购买 nike

我有 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;

关于c# - 按列表排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3945935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com