#if NET40_OR_GREATER || NETCOREAPP using System.Collections.Concurrent; #else using System.Collections.Generic; #endif using System.Xml.Serialization; using Newtonsoft.Json; using SabreTools.DatItems; namespace SabreTools.DatFiles { /// /// Item dictionary with statistics, bucketing, and sorting /// [JsonObject("items"), XmlRoot("items")] public class ItemDictionaryDB { #region Private instance variables /// /// Internal dictionary for all items /// #if NET40_OR_GREATER || NETCOREAPP private readonly ConcurrentDictionary items = new ConcurrentDictionary(); #else private readonly Dictionary items = []; #endif /// /// Internal dictionary for all machines /// #if NET40_OR_GREATER || NETCOREAPP private readonly ConcurrentDictionary machines = new ConcurrentDictionary(); #else private readonly Dictionary machines = []; #endif /// /// Internal dictionary for item to machine mappings /// #if NET40_OR_GREATER || NETCOREAPP private readonly ConcurrentDictionary itemToMachineMapping = new ConcurrentDictionary(); #else private readonly Dictionary itemToMachineMapping = []; #endif #endregion } }