Domanda

Durante la ricerca su come sfuggire a una sola offerta in String.Format, ho trovato la risposta a SO: Escaping apostrofo in String.Format ()

Sembra essere diverso per VB però. Ho provato, e in effetti C # esigenze

string s = DateTime.Now.ToString("MMM d \\'yy 'at' H:mmm");

, mentre le esigenze VB

Dim s As String = Now.ToString("MMM d \'yy 'at' H:mmm")

Perché C # bisogno di una doppia barra rovesciata, e VB una singola barra rovesciata? Questo potrebbe essere un po 'una domanda stupida per C # utenti, ma mentre posso leggere C #, io non sono abituato a scriverlo.

È stato utile?

Soluzione

In C #, letterali stringa può contenere sequenze di escape come \ n per una nuova riga o \ t per una scheda o \" per un preventivo. Se non è necessario il fuggire, è possibile far precedere la letterale con @ (ad esempio, :. @"MMM ...") e ottenere la stessa stringa un VB

In VB, in fuga non è mai consentito, quindi non c'è necessità di fuggire il backslash.

Altri suggerimenti

Il motivo è che C # supporta le sequenze di escape all'interno stringhe tramite il carattere \. VB ha tali meccanismi fuga e quindi il singolo \ è interpretato nel modo un \.

In C # è possibile ottenere lo stesso comportamento utilizzando Verbatim stringhe

@"MMM d \'yy 'at' H:mmm"

In C # il backslash ha un significato (\ n è a capo \ t tab ....). Così backlslahs itselft è un carattere di escape - cui si deve sfuggire :) Oppure mettere un AT-segno di fronte stringa - questo rende un "non sfuggì stringa" (in genere utilizzato per i percorsi)

In C # \ sfuggirà. Il testo diventerà "MMM d \ 'aa 'a' H: mmm". Non è necessario per sfuggire alla 'carattere di una stringa. Se si sceglie di usare "nella stringa d'altra parte, si avrebbe bisogno di sfuggire di non terminare la stringa 'MMM d \' aa \" a \ "H: mmm". Oppure si potrebbe anche utilizzare il "metodo" stringa che sfuggirà automaticamente caratteri per te (non "@ però). Così si potrebbe scrivere @" questo non sarà \ n essere due linee "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top