/// <summary> /// serializes dictionary. Incase of empty dictionary a boolean of value= "false" is serialized ; /// else serializes boolean,count and keys,values /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="Q"></typeparam> /// <param name="dictionary"></param> /// <param name="writer"></param> public static void SerializeDictionary <K, V>(IDictionary <K, V> dictionary, Runtime.Serialization.IO.CompactWriter writer) { if (dictionary == null) { writer.Write(false); return; } else { writer.Write(true); writer.Write(dictionary.Count); for (IEnumerator <KeyValuePair <K, V> > i = dictionary.GetEnumerator(); i.MoveNext();) { writer.WriteObject(i.Current.Key); writer.WriteObject(i.Current.Value); } } }
public static void SerializeClusteredList <T>(ClusteredList <T> list, Runtime.Serialization.IO.CompactWriter writer) { if (list == null) { writer.Write(false); return; } else { writer.Write(true); writer.Write(list.Count); for (int i = 0; i < list.Count; i++) { writer.WriteObject(list[i]); } } }
public static void SerializeClusteredArray <T>(ClusteredArray <T> array, Runtime.Serialization.IO.CompactWriter writer) { if (array == null) { writer.Write(false); return; } else { writer.Write(true); writer.Write(array.Length); writer.Write(array.LengthThreshold); for (int i = 0; i < array.Length; i++) { writer.WriteObject(array[i]); } } }
public static void SerializeDD <T, V, K>(Dictionary <T, Dictionary <V, K> > dList, Runtime.Serialization.IO.CompactWriter writer) { if (dList == null) { writer.Write(false); return; } else { writer.Write(true); writer.Write(dList.Count); for (IDictionaryEnumerator i = dList.GetEnumerator(); i.MoveNext();) { writer.WriteObject(i.Key); SerializeDictionary((IDictionary <V, K>)i.Value, writer); } } }