我有一个我在Visual Studio 2008中创建的asp.net Web应用程序。一切正常,直到我切换到VS 2010.当发生这种情况时,我开始看到我的数据库连接字符串有些奇怪的行为。字符串(已编辑但格式相同)如下:
<add name="DBname" connectionString="Data Source=SomeText\SomeMoreText;Initial Catalog=DB;Integrated Security=True" providerName="System.Data.SqlClient"/>
问题在于SomeText \ SomeMoreText部分 当我在调试器中运行它时,'\'将变为'\\'。这打破了一切。
我的问题,可能有一个非常简单的答案是: 如何在不尝试插入额外斜杠的情况下让VS2010像普通字符串一样处理连接字符串?
答案 0 :(得分:6)
就字符串的解释而言,额外的斜杠不存在。它只是斜杠'\'之前的转义字符'\'。
想要证明吗?将以下内容添加到您的代码中(当然正确命名):
Debug.WriteLine(connectionStringValueHere);
这是一个小应用程序:
string test = "This\\is\\a\\test";
Console.WriteLine(test);
Debug.WriteLine(test);
Console.Read();
请注意,控制台和调试(输出窗口)中的字符串是This \ is \ a \ test。如果在代码处于断点时在立即窗口中执行以下操作:
? test
您会看到以下输出
? test
"This\\is\\a\\test"
但是你有转义存在,这对于.NET中的字符串来说是正常的。