Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C#] Replace "\\"

  1. #1
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    [C#] Replace "\\"

    Scusate la banalità, ma sono abituato a 7 anni di VBasic Ed in rete non trovo nulla riguardo questa piccolezza.

    Perchè la Replace lascia la stringa così com'era ?

    codice:
            string path = string.Empty;
            path = Server.MapPath("Documenti");
    
            string percorso;
            percorso = path.Replace(@"\\", @"\");
    Ho provato anche con:
    codice:
            string path = string.Empty;
            path = Server.MapPath("Documenti");
    
            string percorso;
            percorso = path.Replace("\\\\", "\\");
    ma nella variabile percorso rimangono gli "\\" e non vengono trasformati in "\" .


  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    ma dici cosi perche stai guardando le variabili dal debugger di vstudio?
    il debugger fa vedere "\" come "\\" e "\\" come "\\\\".
    Se cosi fosse nessuna delle tue due istruzioni darebbe risultati.
    Server.MapPath non dovrebbe ritornare i doppi bkslash nel risultato, in ogni modo per verificare quanto detto, prova a mettere un breakpoint su path.Length e a contare i caratteri fisicamente per vedere se coincidono (metodo sparta!).

    una volta apuurato ciò ricordati di utilizzare la classe statica Path per elaborare i percorsi sulla base di quella stringa e non usare le concatenazioni di stringhe

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da rsdpzed
    Server.MapPath non dovrebbe ritornare i doppi bkslash nel risultato
    si sto guardando il debugger.

    Infatti mi sembrava strano, che MapPath tornasse i doppi backslash.
    Faccio il test della lunghezza che mi suggerisci (oppure la faccio stampare a video) e fo' sapere, intanto grazie per i consigli

    edit: si era come dicevi. thanks

    ps: perche' il debugger fa vedere i doppi backslash ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.