Stringhe

Developer
Sep 2, 2010 at 4:57 PM

Ciao a tutti,

sapete se c'è un modo per far riconoscere i caratteri speciali nelle stringhe prese dalle resources? Ad esempio, se la stringa nel Locale contiene "\n", quando viene importata nel gioco il carattere speciale non viene considerato e quindi la stringa non va accapo. D'accordo, una soluzione facile potrebbe essere memorizzare più stringhe nel Locale, ma magari c'è un modo più intelligente...

Inoltre, esiste un sistema per comporre le stringhe a runtime in maniera semplice come la printf del c? Ad esempio, nel Locale memorizzo:

"Benvenuto, %s!"

e nel codice vorrei poter sostituire a quel %s l'username dell'utente loggato in quel momento. Ho visto che ci sono delle funzioni delle stringhe che permettono di sostituire certi caratteri ad altri, ma mi sembra un po' scomodo doverlo fare tutte le volte. Questa cosa in realtà l'abbiamo già risolta componendo le stringhe diversamente, ma se esiste un altro metodo magari in futuro può tornare utile.

Coordinator
Sep 2, 2010 at 9:30 PM

Ciao! Per quanto riguarda il problema del "\n" (su cui mi sono imbattuto anch'io" una possibile soluzione è effettuare il Replace nella stringa tra "\\n" con "\n" e tutto funzionerà come desiderato.

 

Per comporre stringhe puoi usare la costruzione tramite operatore di concatenazione (+). Quindi andrai a scrivere "Benvenuto, " + username + "!", anche se probabilmente è già la soluzione che usi. Quando in c andavi a fare quello che hai scritto in pratica accedevi ad una funzione che prendeva la stringa in ingresso con x parole chiave e altri x argomenti che sarebbero stati sostituiti al posto delle parole chiave. Non c'è nulla che io ricordi di simile in C# (e quindi in .Net), ma se proprio lo desideri potresti implementarla tu (anche se sarebbe un lavoro abbastanza laborioso).

Coordinator
Sep 4, 2010 at 12:03 PM

Rettifico, qualcosina c'è:

 

http://bytes.com/topic/c-sharp/answers/236777-printf-format-c