public static XmlSerializableDictionary <TKey, TValue> DeepCopy <TKey, TValue>(XmlSerializableDictionary <TKey, TValue> original) { XmlSerializableDictionary <TKey, TValue> ret = new XmlSerializableDictionary <TKey, TValue>(original.Count, original.Comparer); foreach (KeyValuePair <TKey, TValue> entry in original) { ret.Add(entry.Key, (TValue)entry.Value); } return(ret); }
private void UpdateRepeats(Data data) { XmlSerializableDictionary <int, int> repeatsOfValue = XmlSerializableDictionary <int, int> .DeepCopy(RepeatsOfValues); foreach (var package in data.Prepared) { if (repeatsOfValue.ContainsKey(package.Value) == false) { repeatsOfValue.Add(package.Value, 0); } repeatsOfValue[package.Value]++; // count repeats } RepeatsOfValues = repeatsOfValue; }
private int GetKeyOfMax(XmlSerializableDictionary <int, int> array) { int result; var e = array.GetEnumerator(); e.MoveNext(); result = e.Current.Key; foreach (var element in array) { if (element.Value > array[result]) { result = element.Key; } } return(result); }