我最终使用了 JSON,因为它比仅为我的图形坐标创建整个表更容易管理并且代码少得多,这似乎是适合我的情况的最佳途径。希望这对将来的人有所帮助!
[Serializable]
public class Coordinate
{
public string x { get; set; }
public string y { get; set; }
public Coordinate() {}
}
public class CoordinateList
{
public List<Coordinate> Coordinate { get; set; }
}
这是一个简单的工作示例,说明如何创建上述类并将其序列化为 JSON 字符串,您可以将其存储为 SQLite 3 中的 TEXT 或 VARCHAR 类型。还包括如何反序列化。
CoordinateList list = new CoordinateList();
list.Coordinate = new List<Coordinate>();
Coordinate cord = new Coordinate();
cord.x = "1";
cord.y = "10";
list.Coordinate.Add(cord);
list.Coordinate.Add(cord);
list.Coordinate.Add(cord);
JavaScriptSerializer serializer = new JavaScriptSerializer();
String jsonStr = serializer.Serialize(list);
MessageBox.Show("json:" + jsonStr);
list = serializer.Deserialize<CoordinateList>(jsonStr);
foreach (Coordinate c in list.Coordinate)
{
MessageBox.Show("x: " + c.x + ", y: " + c.y);
}
PS JavaScriptSerializer 包含在 System.Web.Extentions 参考中。我一直在寻找 System.Web.Script.Serialization 命名空间,但找不到。
特别感谢这些很难找到的链接:
在 .Net 4.0 中找不到 JavaScriptSerializer
Json字符串反序列化为对象数组列表