2017-10-02 4 views
-6

sucht Warum gibt dieser Code System.IO.FileInfo [] zurück? und nicht eine Liste von Elementen namens login.txtDieser Code gibt mir die Ausgabe "System.IO.FileInfo []" und es kann die Datei nicht finden, die nach

  Console.WriteLine("Searching for users wait..."); 
     string username; 
     string password; 
     var fileList = new DirectoryInfo("C:").GetFiles("login.txt", SearchOption.AllDirectories); 
     string Lists = fileList.ToString(); 
     Console.WriteLine(Lists); 
     var position = Lists.IndexOf("login"); 
     if (position == -1) 
     { 
      Console.WriteLine("No users Found.... FUCK!!"); 
      Console.WriteLine("Lets create a user. insert username"); 
      username = Console.ReadLine(); 
      Console.WriteLine("Add a password"); 
      password = Console.ReadLine(); 
      string loginData = username + " " + password; 
      try { System.IO.File.WriteAllText("C:", loginData); } 
      catch (System.UnauthorizedAccessException) 
      { 

       Console.WriteLine("I have no access to create a login file..."); 
       Console.WriteLine("I will now to to gain access"); 
       Process proc = new Process(); 
       proc.StartInfo.FileName = "ConsoleApp2.exe"; 
       proc.StartInfo.UseShellExecute = true; 
       proc.StartInfo.Verb = "runas"; 
       proc.Start(); 

      } 
     } 

Ich brauche es eine TXT-Datei zu machen, die einen Benutzernamen und ein Passwort speichert, und ich brauche auch für diese Datei zu suchen, aber ich denke, im machen etwas falsch hier ..

hoffen, dass Sie dank

+1

'Console.WriteLine (string.Join (Environment.NewLine und Dateiliste));' statt 'Console.WriteLine (Listen); ' –

+0

ist, weil Ihr Dateityp' fileList' vom Typ 'System.IO.FileInfo []' ist –

Antwort

3

Beim Drucken aus einer Sammlung (fileList in Ihrem Code) helfen werden

// wrong way 
    string Lists = fileList.ToString(); 
    Console.WriteLine(Lists); 

Sie müssen es entweder als string, z. mit Hilfe von string.Join

Console.WriteLine(string.Join(Environment.NewLine, fileList)); 

oder implementieren eine Schleife:

foreach (var item in fileList) 
    Console.WriteLine(item); 
Verwandte Themen