c#中如何比较两个连接字符串

本文关键字:两个 字符串 连接 比较 何比较 | 更新日期: 2023-09-27 18:02:56

我在webconfig中有一个默认的connectionstring和一个connectionstring,像这样:

<add name="BAG_Zipcodes" connectionString="Password=;Persist Security Info=True;
     User ID=sa;Initial Catalog=e;Data Source=" />

但是如果这个connectionstring不在webconfig中。使用这个:

ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];

所以我这样比较:

var zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
            //zipcodeConnection = ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];
if (zipcodeConnection == ConfigurationManager.ConnectionStrings["BAG_Zipcodes"] && zipcodeConnection != null)
    zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
else if (zipcodeConnection == ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName] && zipcodeConnection != null) 
    zipcodeConnection = ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];

但是如果我从webconfig中删除这个connectionstring: add name="BAG_Zipcodes

则connectionstring总是null。

谢谢

c#中如何比较两个连接字符串

这可以通过使用coalesce语句来完成。

var zipcodeConnection = (ConfigurationManager.ConnectionStrings["BAG_Zipcodes"])
                      ?? ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];

好的,我是这样解决的:

var zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];

if (zipcodeConnection == ConfigurationManager.ConnectionStrings["BAG_Zipcodes"] && zipcodeConnection != null)
    zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
else if (zipcodeConnection == null) 
    zipcodeConnection = ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];