소스 검색

Code review - simplify SortItemsByRequest to a single roughly-equivalent linq expression

Luke F 2 년 전
부모
커밋
8f28d52929
1개의 변경된 파일1개의 추가작업 그리고 23개의 파일을 삭제
  1. 1 23
      MediaBrowser.Controller/Entities/Folder.cs

+ 1 - 23
MediaBrowser.Controller/Entities/Folder.cs

@@ -892,29 +892,7 @@ namespace MediaBrowser.Controller.Entities
 
         private static BaseItem[] SortItemsByRequest(InternalItemsQuery query, IReadOnlyList<BaseItem> 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<Guid, int>(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<BaseItem> GetItems(InternalItemsQuery query)