如何允许用户在不重新编译代码的情况下编辑代码
本文关键字:代码 编译 编辑 情况下 用户 何允许 新编译 | 更新日期: 2023-09-27 17:59:04
我想写一个程序,其中一些单词连接到另一个单词。一个例子是A变为1,B变为2。有些人可能会称之为映射。我想到的想法是,我们运行程序,程序以某种方式打开一个单词文档,用户可以在其中更改字符或数字对应的内容,然后程序更新这些内容,而无需重新编译。我正在考虑创建一本词典:
Dictionary <string, string> mappings = new Dictionary<string, string>();
mappings["A"] = "1";
mappings["B"] = "2";
我只是不知道如何实现程序允许您在不重新编译的情况下更改代码的部分。也许我应该让程序编辑映射?
这里有一个如何进行基本文件IO和字符串操作的示例。
这是一个简单的学习示例,它无法处理一些事情,例如换行符或您想要映射的字符串中的"="字符。
假设你有一个像这样的文件
A=1
B=2
你可以用这个代码制作完全相同的词典
Dictionary<string, string> mappings = new Dictionary<string, string>();
// gets an array lines in the file
var lines = System.IO.File.ReadAllLines("TextFile1.txt");
foreach(var line in lines)
{
//this gets an array of substrings, seperated by the specified character
var vals = line.Split('=');
//adds a value to your dictionary
mappings.Add(vals[0], vals[1]);
}
如果您想在不更改代码的情况下更改映射,您只需要更改该文件。