我有一个程序,它存储了一堆包含许多 double 类型成员的结构实例。我经常将这些转储到一个文件中,我正在使用字符串生成器进行此操作,例如:
StringBuilder builder = new StringBuilder(256);
builder.AppendFormat("{0};{1};{2};", x.A.ToString(), x.B.ToString(), x.C.ToString());
其中“x”是我的类型的一个实例,A、B、C 是双精度类型 X 的成员。我在每一个上调用 ToString() 以避免装箱。但是,这些对 ToString 的调用仍会在我的应用程序上下文中分配大量内存,我想减少这种情况。我在想的是有一个字符数组,并将每个成员直接写入其中,然后从该字符数组创建一个字符串并将其转储到文件中。几个问题:
1)我想做的事情听起来合理吗?有没有人知道已经实现了类似的东西?
2)是否已经内置了一些东西来将双精度转换为字符数组(我想这将达到一些参数化的精度?)。理想情况下想要传入我的数组和一些索引并让它开始写入那里。
我尝试这样做的原因是在我的应用程序运行时减少内存中的大峰值,因为我运行许多实例并且经常发现自己受到内存的限制。
干杯