コード例 #1
0
 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]);
         }
     }
 }
コード例 #2
0
        /// <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);
                }
            }
        }
コード例 #3
0
 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]);
         }
     }
 }
コード例 #4
0
        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);
                }
            }
        }