存储一个短串

时间:2014-04-02 19:09:49

标签: c# .net

我在代码中有很多提示,每个提示都是一个字符串,如"欢迎来到我们公司"或" 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中输入提示。加载它们的方法更好,更快?

3 个答案:

答案 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。