Quiero asignar un código xml a una variable de cadena. Puedo hacer esto sin evitar comillas simples o dobles mediante el uso de comillas triples en python. ¿Hay alguna manera similar de hacer esto en F # o C#?algo así como la cita triple de una pitón en F # (o C#)?
Respuesta
Hasta donde yo sé, no hay sintaxis correspondiente a esto en C#/F #. Si usa @"str"
, debe reemplazar el presupuesto con dos comillas y si solo usa "str"
, entonces necesita agregar una barra diagonal inversa.
En cualquier caso, hay algo de 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. NET recursos (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. Además, existe used to be a plugin para pegar XML como un árbol que construye objetos XElement
para C#, pero no estoy seguro de si todavía existe.
Aunque, votaría personalmente para agregar """
como se conoce de Python a F # - es muy útil, especialmente para scripts interactivos.
Thnx Tomas. Solo quiero administrar muchos archivos xml "cortos" fácilmente mediante la inserción. Creo que debería usar singe-quote para los atributos XML. Por cierto, leo tu libro. Es genial. –
@tk: ¡Gracias! Sí, creo que incrustar cadenas no es tan "malo" como dicen las directrices ... –
En C# La sintaxis es @"some string"
Parece más una cadena cruda de comillas triples. –
Aún necesita codificar '" 'en la cadena, por lo que este no es realmente un equivalente de la sintaxis' '' '' de Python. –
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 necesita el doble que
System.Console.WriteLine(@"Hello ""big"" world");
emitiría
Hello "big" world
F # 3.0 admite cadenas de comillas triples. Ver Visual Studio F# Team Blog Post on 3.0 features.
Los F# 3.0 Speccadenas y caracteres sección menciona específicamente el escenario XML:
Una cadena triple citado se especifica mediante el uso de tres comillas ("" ") para asegurarse de que una cadena que incluye uno o más escaparon cadenas se interpretan textualmente Por ejemplo, una cadena triple citado se puede utilizar para incrustar manchas XML:.
- 1. ¿Python tiene algo así como la palabra clave de C++?
- 2. ¿Hay algo así como var_dump de PHP en c/C++?
- 3. ReSharper (o algo así) para Visual C++?
- 4. ¿Existe algo así como 'if (! Page.IsPostBack)' en jQuery o javascript?
- 5. Algo así como Apache Zookeeper sin Java?
- 6. ¿Hay algo así como find_if en Java?
- 7. Algo así como Tryparse de Convert.FromBase64String
- 8. ¿Hay algo así como indicadores en Lua?
- 9. Algo así como imprimir END << END; en C++?
- 10. Hilos (o algo así) en javascript
- 11. ¿Hay algo así como una clase interna en Java?
- 12. ¿Hay algo así como "global ::" para VB.NET?
- 13. simplificar C++ código sencillo - algo así como pitones cualquier
- 14. Algo así como boost :: multi_index para Python
- 15. ¿Tiene MongoDB algo así como Heidisql o phpmyadmin?
- 16. ¿Existe algo así como la complejidad de la O-O "negativa"?
- 17. ¿El estándar C++ 11 proporciona algo así como boost :: any?
- 18. ¿Hay algo así como un modelo funcional?
- 19. ¿Hay algo así como sesión en la aplicación de Windows?
- 20. ¿Cómo hago algo así como una memcpy en D
- 21. ¿Existe algo así como XML 2.0?
- 22. ¿Cómo asignar una tecla de método abreviado (algo así como Ctrl + F) a un cuadro de texto en Windows Forms?
- 23. ¿Existe algo así como AJEDREZ para Java?
- 24. ¿Hay algo así como `last` for` map`?
- 25. ¿Es una función algo así como un método estático?
- 26. ¿Hay algo así como una altura de línea automática?
- 27. ¿Hay algo así como Incanter para Haskell?
- 28. Necesita algo así como una señal terminada de QWidget
- 29. ¿Hay algo así como un bool nulo en vb.net
- 30. ReSharper (o algo así) para Qt?
parece que stri-triples citado ngs están llegando a F # 3.0. –