我正在开发一个应用程序,用于绘制存储在文件中的基于时间的数据。每个文件最多可以包含5个可以绘制的数据集。应用程序本身最多可以渲染10个这样的文件(因此可以在屏幕上呈现50个图形)。
由于屏幕上可能有多个图形 - 顺便说一句,它们是折线图 - 我希望为用户提供一种方法来选择50种可能的折线图中的每一种颜色。
我已经拥有了一个用户界面,可以为用户提供一种简单的方法。问题是我无法想出一种优雅的方法来存储50个可能的线图(顺便说一下,持久存储)中的每一个的颜色信息。
到目前为止,我尝试过将50种颜色选择中的每一种存储在应用程序设置文件中(例如,Properties.Settings.Default
命名空间)。不幸的是,有50个设置,它们都按顺序命名,例如File1DataSet1Color
,File1DataSet2Color
,File1DataSet3Color
,File1DataSet4Color
,File1DataSet5Color
,File2DataSet1Color
等。遗憾的是,这会产生一些特别长且重复的图形渲染代码。
所以我的问题是:对50个折线图的颜色设置的持久存储有什么优雅的解决方案,这不会导致我的渲染代码中出现脆弱或重复的代码?
答案 0 :(得分:0)
也许你可以将一个int
数组序列化到一个文件中。 (二维。对于颜色的3个部分。)
BinaryFormatter formater = new BinaryFormatter();
string path = "path";
object data = "data";
using (Stream stream = File.Create(path))
formater.Serialize(stream, data);
答案 1 :(得分:0)
看起来XML序列化是我要走的路。