替换(" \""," \\\"")获取值\\\"而不是\\"

时间:2017-09-05 14:21:50

标签: c#

我有以下代码:

string a = "\"";
string b = a.Replace("\"", "\\\"");

我希望b用\\"值进行实例化。相反,当执行替换时,b具有\\\"值。

为什么会这样?无论如何,取代\"值并获取\\"而不是\\\"值?

谢谢

2 个答案:

答案 0 :(得分:2)

如果要使用\\"

初始化它,则需要再添加2个斜杠

您现有的代码会将其替换为\\\"。这意味着一个\\被计算为一个反斜杠,\"被转义为双引号。所以,b变为\"

如果您使用\\\\\"。你得到2个反斜杠和一个双引号。

    string a = "\"";
   string b = a.Replace("\"", "\\\\\"");

答案 1 :(得分:0)

就像@dlatikay在评论中所说的那样,因为我 debubeger ,调试器再次逃脱字符串将SELECT { [Measures].[Broj Pristapi] ,[Measures].[Broj Nalozi] } ON 0 , Except ( StrToSet("{[Dim Ucesnici].[Naziv Ucesnik].&[owiefwjhoef]}") ,{ [Dim Ucesnici].[Naziv Ucesnik].&[kihebrgk] ,[Dim Ucesnici].[Name].&[blablabla] } )* StrToSet ("{ [Dim Web Service Web Method].[Web Service].&[wsINAPBan], [Dim Web Service Web Method].[Web Service].&[wsNAPSBan] }" )* StrToSet ("{ [Dim Web Service Web Method].[Web Method].[All] ,[Dim Web Service Web Method].[Web Method].&[funNN_loadPP30Ban] ,[Dim Web Service Web Method].[Web Method].&[funNN_loadPP50Ban]}" )* { StrToMember("[Dim Datumi].[Datum ID].&[20170801]") : StrToMember("[Dim Datumi].[Datum ID].&[20170906]") }* StrToSet("[Dim Ucesnici].[Opis Tip Ucesnik].&[Bank]") ON 1 ,NON EMPTY { [Dim Date].[Date].Children* [Dim Date].[Month].Children* [Dim Date].[MonthName].Children } ON 2 FROM [DW]; 值转换为\\"值。