代码之家  ›  专栏  ›  技术社区  ›  Neil Knight

switch语句中的服务器名称

c#
  •  1
  • Neil Knight  · 技术社区  · 14 年前

    我有多个服务器名称需要在switch语句中使用,但我不想在服务器名称发生更改时对其值进行硬编码,或者需要将软件加载到新服务器上。有什么想法会很受欢迎吗?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Jon Skeet    14 年前

    当然,听起来您需要从某种类型的配置文件中加载它们(或者让它们通过命令行传入),但是如果您事先不知道名称,您实际上想要打开什么?

    考虑一下您的真正目标是什么——例如,您是否尝试对生产服务器和测试服务器采取不同的操作?了解如何对服务器进行分组,然后您将对配置文件中需要表达的信息有更多的了解。

        2
  •  1
  •   SecretDeveloper    14 年前

    正如jon提到的,您可以使用一个配置文件,该文件可以被编辑以包含新的服务器。你能告诉我们更多你想做什么的信息吗?

        3
  •  0
  •   Patrick    14 年前

    您可能需要切换服务器类型,而不是服务器名称。

    • 确定您拥有的服务器类型(例如邮件服务器、数据库服务器、文件服务器等)。
    • 然后,生成一个将实际服务器名称映射到其服务器类型的配置文件。
    • 不要编写开关,而是使用if测试

    像这样:

     if (myServer.isMailServer()) ...;
     if (myServer.isDatabaseServer()) ...;
    

    如果您决定将服务器分组在一起(您可能不想这样做,但只是为了以防万一),那么使用if而不是switch的优势在于,if测试可以继续工作。