2009-05-25 9 views

risposta

7

si hanno due opzioni che sono a conoscenza di:

1) Se una stringa sostituire dopo aver letto la stringa di risorsa: s = s.Replace ("\\ t", "\ t") ;

2) Immettere la sequenza di escape direttamente nella stringa di risorse al momento della creazione digitando Alt-012 (penso che sia la scheda) sul tastierino numerico.

Articoli sullo stesso here e here.

+0

L'opzione 1 è ciò che faccio. – Finglas

+1

Alt-012 non funziona in VS2013, l'Alt-009 sì. – kibitzerCZ

14

È necessario aggiungere in modo esplicito la scheda in. Il modo più semplice per farlo è probabilmente di digitare la stringa in notepad (con la scheda esplicitamente messo in atto piuttosto che usando un carattere di escape) e copia e incolla il testo nell'editor delle risorse.

Si avrà un problema simile con le newline, il modo più semplice per aggiungerle è - di nuovo - aggiungere newline in modo esplicito usando la combinazione di tasti shift-enter.

+0

+1: Sì, praticamente l'unico modo logico. –

+0

Blocco note - il migliore amico del programmatore! – Treb

+0

ho provato a copiare incollare non funziona Maiusc + tab lavorato per newline – Gady

0

Hai provato il carattere della scheda XML?

Spiacente, il mio carattere di tabulazione non è stato visualizzato! Deve essere stato mangiato dal browser.

	 
0

\ t aggiunge una scheda ascii, ma se la stai visualizzando in una pagina html non vedrai quella scheda tranne nell'origine della pagina. HTML non rende tabulazioni o new-line come spazio non-breaking. Vengono tutti ridotti a 1 carattere spazio quando visualizzati. La formattazione dell'HTML con spazi vuoti non è raccomandata, cioè per cosa sono div con CSS o anche Table. Se è necessario aggiungere ulteriore spazio bianco in HTML, utilizzare & nbsp; ripetutamente ma non sarà corretto tab stop e creerà un incubo se mai copi e incolli.

In alternativa è possibile visualizzare i dati di stringa in un'area di testo di sola lettura. Ciò manterrà il tuo formato di stringa. Senza conoscere le specifiche di ciò che stai cercando di fare con la tua stringa o di come la stai creando, questi sono i migliori suggerimenti che posso darti.

È anche possibile creare una variabile ma \ t funziona in linea.

string TAB = char.ConvertFromUtf32(9).ToString(); 
+0

Immagino di aver letto male la domanda, stai estraendo la stringa da un file di risorse esterno, quindi sì, devi sostituire la stringa o inserire la sequenza di escape direttamente come indicato da Xiaofu. – benjamin

4

Utilizza il codice di Alt per Tab (Alt + 009) Newlines sono aggiunti usando Shift + Invio.

1) Aprire il file delle risorse in VS. 2) Posizionare il cursore nel punto in cui si desidera inserire il carattere di tabulazione 3) Tenere premuto il tasto Alt. 4) Premere 0, 0, 9 sul tastierino numerico. 5) Lascia andare il tasto alt.

Quando si fa clic sulla stringa di risorse, si vedranno le schede rimosse dal display, certi che sono ancora lì. Questo può essere verificato aprendo Resources.Designer.cs e guardando il commento per la stringa di risorse e evidenziando l'area in cui è stata inserita la scheda.

2

Sono passati quasi sei anni dall'ultima modifica di questo thread e la raccomandazione di utilizzare gli escape continua a regolare il giorno. Per quello che vale, all'inizio di oggi, ho copiato del testo da una costante di stringa C# nell'editor delle stringhe di risorse e la scheda è stata sostituita da spazi.Tuttavia, poiché il codice si aspettava di vedere il carattere tab effettivo, ha lanciato una InvalidOperationException (il mio codice, mia eccezione!). Ancora una volta, sono tornato alla scheda, seguendo le eccellenti istruzioni nell'articolo DevX, "Un altro modo di sfuggire alle sequenze nei file di risorse .NET", menzionato nella seconda citazione nella risposta accettata.

Morale: non contare sugli Appunti di Windows per copiare fedelmente il testo.

Problemi correlati