我有以下代码:
string a = "\"";
string b = a.Replace("\"", "\\\"");
我希望b用\\"
值进行实例化。相反,当执行替换时,b具有\\\"
值。
为什么会这样?无论如何,取代\"
值并获取\\"
而不是\\\"
值?
谢谢
答案 0 :(得分: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];
值转换为\\"
值。