2 Stimmen

Hilfe beim Zufallscodegenerator benötigt

Ich arbeite an einer Anforderung, Codes nach dem Zufallsprinzip zu erzeugen (wie eine Zufallszahl). Der Code sollte ein alphanumerischer sein, aber nur (A-Z0-9) zulassen. Der Benutzer kann die Anzahl der Zeichen des Codes festlegen. Der Code kann 4-9 Zeichen lang sein, abhängig von der Benutzereingabe.

Ein Beispiel für den Code wäre "AG43", "XFR4A5UU0".

Bearbeiten :- Ich bin auf der Suche nach dem besten Weg, dies zu lösen. Ich wollte eine zweistellige Zufallszahl im Bereich von 11 bis 99 generieren. Wenn die Zahl zwischen 65 und 90 liegt (ascii von A-z), werde ich die ascii-Zahl dafür verwenden, ansonsten werde ich die generierte Zahl an meinen Code-String anhängen.

Bitte beraten Sie mich.

9voto

SwDevMan81 Punkte 47339
var number_of_chars = 4;
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
var random = new Random(); 
var result = new string( 
    Enumerable.Repeat(chars, number_of_chars) 
              .Select(s => s[random.Next(s.Length)]) 
              .ToArray());

2voto

Matthew Whited Punkte 21770
public string GetRandomString(int length)
{
    var newBuffer = new byte[length];
    if (length <= 0)
        return null;

    // This was used for a password generator... change this how every needed
    var charSet = ("ABCDEFGHJKLMNPQRSTUVWXYZ" +
                   "abcdefghijkmnprstuvxyz" +
                   "23456789").ToCharArray();

    using (var rng = RandomNumberGenerator.Create())
    {
        rng.GetBytes(newBuffer);

        var newChars = newBuffer.Select(b => charSet[b % charSet.Length]).ToArray();
        return new string(newChars);
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X