C#字符串配对方法(外部文件)

C#字符串配对方法(外部文件),c#,.net,C#,.net,我正在写一个windows服务C#service 在它里面,我需要一个功能,它可以获取一个值(字符串)并查看外部文件来尝试匹配它,然后返回匹配的值,也是一个字符串。 例如,该文件可能有: Stringone – anothertwo 因此,如果传递Stringone,则返回值将是另外两个 我需要它是相当快的,重要的是,我必须能够在没有重新编译的情况下进行更改,所以将它放入资源文件并不是一个真正的选项 将少于100个条目。所以DB似乎有点过头了 有人对实现这一目标的最佳方式有什么建议吗 谢谢。为

我正在写一个windows服务C#service

在它里面,我需要一个功能,它可以获取一个值(字符串)并查看外部文件来尝试匹配它,然后返回匹配的值,也是一个字符串。 例如,该文件可能有:

Stringone – anothertwo
因此,如果传递Stringone,则返回值将是另外两个 我需要它是相当快的,重要的是,我必须能够在没有重新编译的情况下进行更改,所以将它放入资源文件并不是一个真正的选项

将少于100个条目。所以DB似乎有点过头了

有人对实现这一目标的最佳方式有什么建议吗


谢谢。

为什么不试试XML或JSON?创建可序列化类


使用它的集合进行阅读。

因为它的条目数量非常少,我认为最简单的方法是创建一个
字典,序列化为json(因为它很简单),然后在服务的
start
方法中将其反序列化。
然后,当您的服务收到请求时,您所要做的就是这样:

public string GetTranslation(string source)
{
    string returnValue = "";
    _Dictionary.TryGetValue(source, out returnValue);
    return returnValue; // if TryGetValue fails, you simply return an empty string
}
或者,如果没有翻译,可以返回源代码:

public string GetTranslation(string source)
{
    string returnValue = "";
    return _Dictionary.TryGetValue(source, out returnValue) ? source, returnValue;
}

无论哪种方式,它都会非常快。

我认为一个dictionary有帮助。一个资源文件似乎是一个非常合理的解决方案。你不必编译资源文件,它们可以说是独立的文件(很像app.config)。但这需要对任何更改进行重新编译,不是吗?
public string GetTranslation(string source)
{
    string returnValue = "";
    return _Dictionary.TryGetValue(source, out returnValue) ? source, returnValue;
}