Random String

    • C#
    • .NET (FX) 4.5–4.8

    Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

      Random String

      Manchmal kann es vorkommen, dass man einen Zufällig Generierten String benötigt. Da ich vor kurzem das Problemm hatte, habe ich nun mal ein Source Code, der einen Random String anhand einer Char Matrix berechnet.
      Das Tolle daran ist, das man die Matrix nach belieben austauschen kann. Den die Matrix besteht aus einem Char Array. Mag man keine Benutzer Definierte Matrix kann man eine Normale Matrix oder eine Matrix die über zusätzliche Speziallzeichen besteht erstellen lassen.

      C#-Quellcode

      1. using System;
      2. using System.Collections.Generic;
      3. using System.Linq;
      4. using System.Text;
      5. using System.Threading.Tasks;
      6. namespace RandomString
      7. {
      8. public class RandomStringGenerator
      9. {
      10. private Char[] CharMatrix;
      11. public void BuildMatrix()
      12. {
      13. this.CharMatrix = new Char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
      14. 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
      15. '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
      16. }
      17. public void BuildSpecialMatrix()
      18. {
      19. this.CharMatrix = new Char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
      20. 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
      21. '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
      22. '!', '"', '§', '$', '%', '&', '/', '(', ')', '=', '?'};
      23. }
      24. public void SetMatrix(Char[] Matrix)
      25. {
      26. this.CharMatrix = Matrix;
      27. }
      28. public String GererateString(int Lenght)
      29. {
      30. StringBuilder builder = new StringBuilder();
      31. Random CharRandom = new Random();
      32. for (int i = 0; i < Lenght; i++)
      33. {
      34. int CharIndex = CharRandom.Next(this.CharMatrix.Length);
      35. builder.Append(this.CharMatrix[CharIndex]);
      36. }
      37. return builder.ToString();
      38. }
      39. }
      40. }
      @Andy16823 Zwei Anmerkungen:
      1. Pack die Bereitstellung der Arrays (nicht Matrizen) in den Konstruktor der Klasse, unterscheide sie mit einem Parameter, z.B. ein enum.
      2. Manchmal ist es für Tests erforderlich, exakt dieselbe Zufallsreihenfolge zu reproduzieren.
        Mache dies z.B., indem Du einen optionalen Parameter seed, der verwendet wird, wenn er ungleich 0 ist.
      Bilder
      • Random.png

        9,57 kB, 1.186×98, 141 mal angesehen
      Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
      Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
      Ein guter .NET-Snippetkonverter (der ist verfügbar).
      Programmierfragen über PN / Konversation werden ignoriert!