Comment générer une chaîne aléatoire de lettres et de chiffres en C#?
Bonjour à tous! Je suis un développeur C# débutant et j'ai rencontré un problème : je dois générer des chaînes aléatoires composées de lettres (latin, les deux casses) et de chiffres. Par exemple, pour créer des mots de passe temporaires ou des identifiants uniques.
J'ai essayé d'utiliser `Random` et `StringBuilder`, mais le résultat me laisse perplexe. Voici mon code :
```csharp
public static string GenerateRandomString(int length)
{
Random random = new Random();
string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder result = new StringBuilder(length);
for (int i = 0; i < length; i++)
{
result.Append(chars[random.Next(chars.Length)]);
}
return result.ToString();
}
```
Cela semble fonctionner, mais j'ai remarqué plusieurs problèmes :
1. Si j'appelle la méthode plusieurs fois de suite, parfois les mêmes chaînes sont retournées.
2. Il n'y a aucune garantie que la chaîne contienne au moins une lettre et un chiffre (parfois elle n'est composée que de chiffres).
3. Je ne suis pas sûr de la fiabilité de cette