0
votes

Pourquoi C # me donnait une erreur lorsque j'essaie de sélectionner un nom d'utilisateur et de le mettre dans une chaîne?

  1. Je reçois une erreur en C # lorsque j'essayais de mettre un nom d'utilisateur dans une chaîne
  2. Il dit que le formulaire contient déjà une définition pour "Nom d'utilisateur" XXX

c#

5 commentaires

La deuxième erreur semble que vous avez déjà une variable nommée nom d'utilisateur dans votre portée.


La syntaxe correcte est chaîne encrolder = string.format (@ "c: \ users \ \ {0} \ dektop \ cryption \", nom d'utilisateur); ou corde Encrolder = $ @ "C: \ Utilisateurs \ {nom_utilisateur} \ Desktop \ cryptage \ ";


Utilisez chemin.combine - Vous devez simplement utiliser les dossiers spéciaux.


Vous pouvez utiliser une variable d'environnement aussi String Encrolder = Environnement.Expandenvironmentvariables ("% UserProfile% \\ Deskt Op") ou même mieux Environnement.GetFolderPath (Environnement.Specialfolder.desktop)


Nom d'utilisateur = System.Security.Principal.windowSidentity.getCurrent (). Nom;


3 Réponses :


2
votes

Un meilleur moyen de le faire serait:

string EncrFolder = $@"c:\Users\{userName}\Desktop\Encryption\"; 


2 commentaires

s'est débarrassé de la chaîne et utilisé cela à la place: String Encrolder = $ @ "C: \ users \ {environnement.Asername} \ Desktop \ cryptage \";


Je ne sais pas comment utiliser la pile overflow que j'ai essayé de +1 et il a fait -1



5
votes

Le problème de base avec votre code est qu'il vous manque l'appel à string.format code>, qui correspond à la méthode qui remplacera les éléments dans les espaces réservés avec les chaînes de la liste des arguments:

"c:\Users\rufusl\Desktop\Encryption\"


1 commentaires

Même si vous n'avez pas déplacé le dossier, le dossier est parfois créé comme nom d'utilisateur.domain lorsque nom d'utilisateur existe déjà pour un utilisateur local par ce nom. Ceci est souvent observé pour les comptes administrateurs. Une autre raison d'utiliser environnement.gefolderPath .



0
votes

Vous pouvez vérifier en utilisant $ ou string.format

exemple: xxx

ou xxx


0 commentaires