我有一个来自位图的byte[] array
。
我可以通过以下方式将其保存到文件中:
File.WriteAllBytes("path&fileName", byte[]arrayName);
还有其他变量引用此byte[] array
,例如其名称,原始位置等。
简而言之,为了节省位图参考值,我如何集体保存数据或将一些变量分组?
(data = byte[], name=string, loctionX = int, locationY = int, Width=int ....etc)
此任务是仅属于数据库字段还是有其他方式? 例如,我可以使用XML或linq吗? (我想猜)(: 我正试图避免在我的项目中涉及数据库(SqlDatasource连接......等)。
答案 0 :(得分:1)
您应该为要存储的值声明一个POCO并将其序列化。例如:
public class Foo {
public byte[] Data {get;set;}
public string Name {get;set;}
public int LocationX {get;set;}
// ... etc
}
现在选择任何序列化器; XmlSerializer,DataContractSerializer,protobuf-net,BinaryFormatter,JSON.NET - 任何可以做到的;并使用它来从/向磁盘读/写实例。例如:
Foo obj = ...
using(var file = File.Create(path)) {
var ser = new XmlSerializer(typeof(Foo));
ser.Serialize(file, obj);
}