保存数组的值加上其他变量的值可以将它引用到硬盘中

时间:2012-08-20 22:13:05

标签: c# variables storing-information

我有一个来自位图的byte[] array。 我可以通过以下方式将其保存到文件中:

File.WriteAllBytes("path&fileName", byte[]arrayName);

还有其他变量引用此byte[] array,例如其名称,原始位置等。 简而言之,为了节省位图参考值,我如何集体保存数据或将一些变量分组?

(data = byte[], name=string, loctionX = int, locationY = int, Width=int ....etc)

此任务是仅属于数据库字段还是有其他方式? 例如,我可以使用XML或linq吗? (我想猜)(: 我正试图避免在我的项目中涉及数据库(SqlDatasource连接......等)。

1 个答案:

答案 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);
}