public static void Main() { Int32 version = 3; switch (version) { case 1: Version1.Go(); break; case 2: Version2.Go(); break; case 3: Version3.Go(); break; } }
public static string Convert(string s) { Version2 v2 = JsonConvert.DeserializeObject <Version2>(s); Dictionary <string, double> cst = new Dictionary <string, double>(); if (v2.constants != null) { foreach (var x in v2.constants) { cst.Add(x.Key, x.Value); } } List <NewItem> items = new List <NewItem>(); foreach (var x in v2.products) { double d; string ss = x.Value.price; if (v2.constants != null) { foreach (var c in cst) { ss = ss.Replace(c.Key, c.Value.ToString()); } ss = ss.Replace(",", "."); } Double.TryParse(new DataTable().Compute(ss, "").ToString(), out d); items.Add(new NewItem(x.Key, x.Value.name, d, x.Value.count)); } Version3 v3 = new Version3("3", items); string res = JsonConvert.SerializeObject(v3, Formatting.Indented); res = res.Replace(".0,", ","); res = res.Replace(" ", " "); return(res); }
public override int GetHashCode() { return(Version1.GetHashCode() * 13 + Version2.GetHashCode() * 17 + Version3.GetHashCode() * 19 + Version4.GetHashCode() * 23); }
static async Task Third() { Version3 version3 = new Version3(); }
internal static bool TestCase() { #region 序列化版本 0 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本 byte[] data0 = AutoCSer.BinarySerialize.Serializer.Serialize(new GlobalVersion { Value9 = 1 }, new AutoCSer.BinarySerialize.SerializeConfig { GlobalVersion = 0 }); Version1 value1 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version1>(data0); if (value1 == null || value1.Value9 != 1) { return(false); } Version2 value2 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version2>(data0); if (value2 == null || value2.Value9 != 1) { return(false); } Version3 value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data0); if (value3 == null || value3.Value9 != 1) { return(false); } #endregion #region 序列化版本 1 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本 byte[] data1 = AutoCSer.BinarySerialize.Serializer.Serialize(new Version1 { Value9 = 1, Value8 = 2 }, new AutoCSer.BinarySerialize.SerializeConfig { GlobalVersion = 1 }); value1 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version1>(data1); if (value1 == null || value1.Value9 != 1 || value1.Value8 != 2) { return(false); } value2 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version2>(data1); if (value2 == null || value2.Value9 != 1 || value2.Value8 != 2) { return(false); } value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data1); if (value3 == null || value3.Value9 != 1 || value3.Value8 != 2) { return(false); } #endregion #region 序列化版本 2 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本 byte[] data2 = AutoCSer.BinarySerialize.Serializer.Serialize(new Version2 { Value9 = 1, Value8 = 2, Value7 = 3 }, new AutoCSer.BinarySerialize.SerializeConfig { GlobalVersion = 2 }); value2 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version2>(data2); if (value2 == null || value2.Value9 != 1 || value2.Value8 != 0 || value2.Value7 != 3) { return(false); } value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data2); if (value3 == null || value3.Value9 != 1 || value3.Value8 != 0) { return(false); } #endregion #region 序列化版本 3 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本 byte[] data3 = AutoCSer.BinarySerialize.Serializer.Serialize(new Version3 { Value9 = 1, Value8 = 2, Value6 = 4 }, new AutoCSer.BinarySerialize.SerializeConfig { GlobalVersion = 3 }); value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data3); if (value3 == null || value3.Value9 != 1 || value3.Value8 != 0 || value3.Value6 != 4) { return(false); } #endregion return(true); }