我在代码中有很多提示,每个提示都是一个字符串,如"欢迎来到我们公司"或" goodby"等
现在我想管理这些提示。有两种方法,一种是将每个字符串存储在一个文件中,然后将其加载到代码中。
private string LoadPrompt(string inid, string PromptsPath,string promptFile)
{
StringBuilder filetopen = new StringBuilder();
StringBuilder content = new StringBuilder();
filetopen.Append(PromptsPath + inid + "_" + promptFile);
try
{
if (File.Exists(filetopen.ToString()))
{
using (StreamReader reader = File.OpenText(filetopen.ToString()))
{
string line;
while ((line = reader.ReadLine()) != null)
{
content.Append(line);
}
}
}
}
catch (Exception ex)
{
AppLogEx(ex, "Utilities:LoadPrompt");
content.Clear();
content.Append("ERROR");
}
return content.ToString();
}
另一个是在app.config中输入提示。加载它们的方法更好,更快?
答案 0 :(得分:4)
将字符串设置为Resources。
在平面文件或app.config上使用资源的好处是,您可以将字符串本地化成各种语言,并且可以使用支持和工具来简化此过程。如果您提供多种语言,您的程序可以根据本地系统自动选择适当的语言/文化,而无需进行任何额外的工作。
答案 1 :(得分:1)
关于代码,您可以更简单地执行此操作
代替
using (StreamReader reader = File.OpenText(filetopen.ToString()))
{
string line;
while ((line = reader.ReadLine()) != null)
{
content.Append(line);
}
}
你可以写
File.ReadAllLines(filetopen.ToString())
.ToList() - added only for Foreach, I think you've your own Foreach extension for IEnumerable
.ForEach(x => content.AppendLine(x));
关于提示,配置或资源
答案 2 :(得分:0)
好吧,如果你通过app.config执行它,它本质上是一个XML文件。因此,您将能够非常轻松地找到正确的提示。由于它是一个设置文件,因此在其中存储您可能会在路上更改的任何设置都是有意义的。您可以使用常规文本文件执行相同的操作,但是您需要以某种方式标记不同的提示...在这种情况下,也可以使用XML。