我正在使用C#处理一个Windows窗体项目,该项目将用于进行计算。
基本上这个项目的目标是取代一个大的Excel电子表格我一直在使用。因为更多的人会使用它,我需要做它的防呆。
我必须做的一个例子:一个comboBox应该显示列名(所以我应该把列名检索到一个IEnumerable列表中)。然后我应该在一个TextBox中插入一个与第一列中的值相对应的值。程序将使用这个值和列名到这个表中,并将相应的值保存到内存中
我将要使用的表大多来自书本,所以我可能永远不会(或不经常)更改这些值。这就是为什么我不使用SQL数据库的原因。我认为这就像去购物中心买一辆法拉利一样。
先谢谢你了
2条答案
按热度按时间z18hc3ub1#
这类数据最简单的存储方式是文本文件:
六、八十、一百二十五
第八章;第一百零七章;第一百六十六章
...
要存储数据,请逐行写入,并以';'.
要读取数据,请逐行读取文件内容(或ReadAllText),然后按';'.
qmelpv7a2#
我同意你的观点,SQL数据库对于你的用例来说可能是一个大材小用。
在Excel中,依次按“文件”、“保存为”、“文本”(制表符分隔)。
将该文件移到C#项目中,添加到项目中,然后在Visual Studio中右键单击“属性”,设置“生成操作”=“嵌入资源”。
然后编写一些C#来解析制表符分隔文件中的数据。
用法示例:
如果文本文件至少有100kb,并且您希望保存二进制文件的大小,请将该资源文件压缩到GZip中。C#代码只需要一行代码就可以动态解压缩,请参见
GZipStream
类。此外,由于该数据是不可变的,因此您可能不应该在每次使用时都加载它,而是只加载一次,并在应用运行期间将数组保留在内存中。例如,您可以缓存在某个类的
static readonly
字段中。