C# / Passwort-Generator: Wie kann ich einen Text vor meinem generierten Passwort einfügen?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Eine String-Konkatenation kann man auf unterschiedlichen Wegen erreichen:

  • String-Interpolation:
var password = "...";
Console.WriteLine($"Some text: {password}");
  • Der Concat-Methode der String-Klasse
  • Mittels Konkatenationsoperator (+):
var password = "...";
Console.WriteLine("Some text: " + password);
  • Paramater Format Specifiers, wie sie auch Console.WriteLine oder die Format-Methode der String-Klasse unterstützen:
var password = "...";
Console.WriteLine("Some text: {0}", password);

Andernfalls kann man die Worte auch einzeln nacheinander in den Ausgabestream schieben:

Console.Write("Some text: ");
Console.Write(password);

Ich gehe hierbei davon aus, dass du dein Ergebnis in der Konsole ausgeben lassen möchtest.


RicoCrafterHD 
Beitragsersteller
 02.08.2020, 17:09

Achso das ist aller dings alles mit Konsole, ich habe die Forms. ich möchte dass die in eine Zeile reingeht. Also habe einmal die zeile und generate. Und vor dem Passwort soll dann was stehen.

0
regex9  02.08.2020, 17:25
@RicoCrafterHD

Nur das letzte Snippet ist auf eine Nutzung in der Konsole beschränkt.

0
regex9  02.08.2020, 22:22
@RicoCrafterHD

Das ist üblicherweise der Fall, wenn man etwas falsch gemacht hat. Wo liegt also dein Fehler?

0
RicoCrafterHD 
Beitragsersteller
 02.08.2020, 22:29
@regex9

Es ist so aufgebaut.
    private void button2_Click_1(object sender, EventArgs e)

    {

      int minLength = 16;

      int maxLength = 16;

      var password = "test";

      string charAvailable = "abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

      StringBuilder code = new StringBuilder();

    Random rdm = new Random();

    int codeLength = rdm.Next(minLength, maxLength + 0);

      while (codeLength-- > 0)

        code.Append(charAvailable[rdm.Next(charAvailable.Length)]);

      textBox2.Text = code.ToString();

      textBox2.Text = password.ToString();

     }
und es geht nur eine sache entweder der code oder das password, wie kann ich das beheben

0
regex9  02.08.2020, 22:33
@RicoCrafterHD

Erst schreibst du den Wert von code in das Textfeld, danach überschreibst du dies wieder mit dem Passwort. Ausreichend Optionen (mitsamt Beispiel), wie man Strings miteinander verbinden kann, habe ich dir in meiner Antwort schon benannt.

0
RicoCrafterHD 
Beitragsersteller
 02.08.2020, 22:43
@regex9

Ich, Ich verstehe es nicht. Kannst du mir das in den Code schreiben? Hä, bin echt verloren.

0
WitchHunter0815  03.08.2020, 06:25
@RicoCrafterHD

Ein wenig selber denken wäre von Vorteil.

textBox2.Text = code.ToString() + password.ToString();

oder

textBox2.Text = $"{code}{password}";

denn die Antworten sind oben herauszulesen.

1