Segnaposto String.Format in escape
-
27-10-2019 - |
Domanda
Ho la seguente stringa
"ListId={1CC88B01-E60F-45D1-8B3C-28852574156D}&ID={0}&ContentTypeID=0x01003D458D19EF31D845B3A7727B0F2F8FC8"
Vorrei usarlo come tale
String.Format("ListId={1CC88B01-E60F-45D1-8B3C-28852574156D}&ID={0}&ContentTypeID=0x01003D458D19EF31D845B3A7727B0F2F8FC8", MyValue)
WHERE MyValue would replace ID={0}
Tuttavia, questo genera un System.FormatException
.Ovviamente ciò è dovuto al {1CC88B01-E60F-45D1-8B3C-28852574156D} guid
che utilizza il valore segnaposto string.format
.Ora posso semplicemente dividere la stringa chiamata string.format()
come richiesto e concatenarla di nuovo insieme, ma forse c'è un modo in cui posso evitare di farlo "sfuggendo" in qualche modo al valore del segnaposto?
Soluzione
Devi solo raddoppiare le parentesi graffe:
String.Format("ListId={{1CC8...156D}}&ID={0}&...", MyValue)
Altri suggerimenti
Utilizza i caratteri doppi {{o}} per eseguire l'escape.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow