public static Dictionary <object, CNDatatype> DecodeLine(string line) { Dictionary <object, CNDatatype> Out = new Dictionary <object, CNDatatype>(); foreach (string s in line.Split(new[] { "}::" }, StringSplitOptions.None)) { CNDatatype adsasd = CNDatatype.CHR; CNDatatype t = (CNDatatype)Enum.Parse(adsasd.GetType(), s.Substring(0, 3)); Object o = new Object(); switch (t) { case CNDatatype.CHR: o = Char(s); break; case CNDatatype.DOU: o = Double(s); break; case CNDatatype.FLO: o = Float(s); break; case CNDatatype.I32: o = Int32(s); break; case CNDatatype.I64: o = Int64(s); break; case CNDatatype.IBI: o = BigInt(s); break; case CNDatatype.STR: o = String(s); break; default: o = "ERROR IN CN"; break; } Out.Add(o, t); } return(Out); }
public static string EncodeLine(Dictionary <object, CNDatatype> objects) { string s = ""; foreach (KeyValuePair <object, CNDatatype> entry in objects) { CNDatatype t = entry.Value; object o = entry.Key; switch (t) { case CNDatatype.CHR: s += Char((char)o); break; case CNDatatype.DOU: s += Double((double)o); break; case CNDatatype.FLO: s += Float((float)o); break; case CNDatatype.I32: s += Int32((int)o); break; case CNDatatype.I64: s += Int64((long)o); break; case CNDatatype.IBI: s += BigInt((BigInteger)o); break; case CNDatatype.STR: s += String((String)o); break; default: s += "CRITICAL ERROR IN CNEncoder!!"; break; } } return(s); }