Pregunta algo así como la cita triple de una pitón en F # (o C #)?


Quiero asignar un código xml a una variable de cadena. Puedo hacer esto sin escapar de comillas simples o dobles mediante el uso de comillas triples en Python. ¿Hay alguna manera similar de hacer esto en F # o C #?


10
2018-05-15 21:21


origen


Respuestas:


Hasta donde yo sé, no hay sintaxis correspondiente a esto en C # / F #. Si utiliza @"str" entonces tienes que reemplazar la cita con dos comillas y si solo usas "str" entonces necesitas agregar barra invertida.

En cualquier caso, hay alguna codificación de ":

var str = @"allows
  multiline, but still need to encode "" as two chars";
var str = "need to use backslahs \" here";

Sin embargo, lo mejor que puede hacer cuando se necesita integrar cadenas grandes (tales como datos XML) en su aplicación es probablemente usar los recursos de .NET (o almacenar los datos en otro lugar, dependiendo de su aplicación). Incrustar literales de cadena grandes en el programa generalmente no es muy recomendable. También ahí solía ser un complemento para pegar XML como un árbol que construye XElement objetos para C #, pero no estoy seguro de si todavía existe.

Aunque, personalmente votaría para agregar """ como se conoce de Python a F #, es muy útil, especialmente para scripts interactivos.


9
2018-05-15 21:36



F # 3.0 admite cadenas de comillas triples. Ver Visual Studio F # Team Blog Publicar en funciones de 3.0.

los F # 3.0 Spec  Cadenas y personajes sección menciona específicamente el escenario XML:

Una cadena de comillas triples se especifica mediante el uso de tres comillas   ("" ") para garantizar que una cadena que incluye uno o más escapes   cadenas se interpreta textualmente. Por ejemplo, una cadena de comillas triples   se puede usar para incrustar blobs XML:


14
2017-11-09 12:28



Como dijo shoosh, desea utilizar los literales de cadena literales en C #, donde la cadena comienza con @ y está encerrado entre comillas dobles. La única excepción es si hay que poner un signo de comillas dobles en la cadena, en cuyo caso se necesitará doblarla

System.Console.WriteLine(@"Hello ""big"" world");

saldría

Hello "big" world

http://msdn.microsoft.com/en-us/library/362314fe.aspx


1
2018-05-15 21:34



En C # la sintaxis es @"some string"

mira aquí


0
2018-05-15 21:23