Wie generiert man einen zufälligen String aus Buchstaben und Ziffern in C#?
Hallo zusammen! Ich bin ein C#-Anfänger und schreibe eine kleine Anwendung zur Generierung temporärer Passwörter. Ich muss zufällige Strings erstellen, die aus lateinischen Buchstaben (a-z, A-Z) und Ziffern (0-9) bestehen. Die Länge des Strings soll variabel sein, z.B. 8 oder 12 Zeichen.
Ich habe versucht, die Standardklasse Random zu verwenden, bin aber auf ein Problem gestoßen: Die Strings sind nicht sehr zufällig und wiederholen sich manchmal sogar bei schnellem Aufruf der Methode. Hier ist mein aktueller Code:
```csharp
public static string GenerateString(int length)
{
string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
string result = "";
Random random = new Random();
for (int i = 0; i < length; i++)
{
int index = random.Next(chars.Length);
result += chars[index];
}
return result;
}
```
Die Methode funktioniert, aber ich habe bemerkt, dass bei mehrmaligem Aufruf hintereinander die ersten Zeichen oft übereinstimmen. Außerdem stört mich, dass ich eine neue Instanz von Random erstelle.