У меня есть 2 объекта списка, один - просто список целых, другой - список объектов, но у объектов есть свойство 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, я всегда могу на это надеяться.
Любая помощь очень ценится.