En un campo de base de datos, estoy almacenar y devolver el «cuerpo» de mi correo electrónico (en caso de que los cambios). En esto tengo \n\r caracteres para obtener nuevas líneas. Pero, parece que no funciona. Cualquier pensamiento:

De modo que los datos de campo:

'TBD.\r\n\nExpect'

Y mi salida se parece a (literal \r y \n):

TBD.\r\n\nExpect

Pensamientos?

  • Espera, estoy confundido. Está usted usando \n\r o \r\n?
  • \r debe venir antes de \n. Pensar en las viejas máquinas de escribir, primero retorno de carro, moviendo la cabeza a la izquierda, luego poner en cola el documento de avance de línea.
  • por cierto, tiene valor correcto de la nueva línea en el medio Ambiente.NewLine
  • ¿por qué no probar con el medio Ambiente.NewLine?

4 Comentarios

  1. 12

    Secuencias de Escape no tienen ningún significado en la actual cadena de objetos – sólo cuando el C# analizador/compilador interpreta. Desea almacenar una nueva línea en el campo de base de datos en lugar de los 4 caracteres «\r\n».

  2. 4

    Es probable que el \r\n se escapó, por lo que la cadena regresado sería equivalente a una cadena de

    myString = "\\r\\n";

    Lo que usted necesita para eliminar estas barras añadiendo o eliminando de la base de datos.

    Aunque probablemente no relacionadas con su problema, el exceso de \n que pueden causar problemas de visualización en función del sistema, editor, etc.

    Podría reemplazar todas las apariciones de \\n\\r, etc. uso:

    replacedString = myString.Replace("\r\n", "\r\n");

    Este debe trabajar para solucionar su problema.

    • +1 porque a pesar de que Noldorin y Andrea estaban en lo correcto, ellos no señalar cómo para conseguir realmente el escape de los caracteres de escape. Y porque no creo que se merecía estar en -1.
  3. 2

    Porque \r, \n, etc. sólo funciona dentro de un string en el código de C#. Si usted lee una cadena desde un archivo, una base de datos, o otras cosas, que acaban de llegar copia textual de los valores…

    • +1 Esto es lo mismo que lo que estoy diciendo..
    • Sí. +1 para ti también. También, el <br/> etiqueta sólo funciona si el cuerpo del correo electrónico en formato html.
  4. 1

    Reemplazar su \r\n con Sistema.Medio ambiente.Salto de línea como el de abajo puede hacer el trabajo para usted:

    text.Replace("\r\n",  System.Environment.NewLine);
    • Sólo si el cuerpo del correo electrónico se con formato html, no en texto sin formato.
    • El tema aquí no se realmente que hacer con HTML, tiene que ver con la forma de cadenas de caracteres se interpretan en tiempo de compilación y tiempo de ejecución.
    • la respuesta se actualiza ahora

Dejar respuesta

Please enter your comment!
Please enter your name here