From 8f28d5292971600e6e06036a828bbcdd7ff5e8f2 Mon Sep 17 00:00:00 2001 From: Luke F <283772+lukefor@users.noreply.github.com> Date: Thu, 18 Aug 2022 00:15:57 +0100 Subject: [PATCH] Code review - simplify SortItemsByRequest to a single roughly-equivalent linq expression --- MediaBrowser.Controller/Entities/Folder.cs | 24 +--------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index dda5d70e86..f3e79c6e28 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -892,29 +892,7 @@ namespace MediaBrowser.Controller.Entities private static BaseItem[] SortItemsByRequest(InternalItemsQuery query, IReadOnlyList items) { - var ids = query.ItemIds; - int size = items.Count; - - // ids can potentially contain non-unique guids, but query result cannot, - // so we include only first occurrence of each guid - var positions = new Dictionary(size); - int index = 0; - for (int i = 0; i < ids.Length; i++) - { - if (items.Any(item => item.Id == ids[i]) && positions.TryAdd(ids[i], index)) - { - index++; - } - } - - var newItems = new BaseItem[size]; - for (int i = 0; i < size; i++) - { - var item = items[i]; - newItems[positions[item.Id]] = item; - } - - return newItems; + return items.OrderBy(i => Array.IndexOf(query.ItemIds, i.Id)).ToArray(); } public QueryResult GetItems(InternalItemsQuery query)