Feedback

C# - Einmalige Zahlen generieren

Veröffentlicht von am 23.07.2012
(0 Bewertungen)
Mit diesem C# Code werden Zahlen einmalig innerhalb des angegebenen Bereiches erzeugt.
GFU-Schulungen  [Anzeige]

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

public List<int> Zahlen = new List<int>(){};

public void zahlGenerieren()
{
Random r = new Random();
    // je nachdem wie viele Ziffern generiert werden sollen,
    // so variiert dann auch x : i < x      
   
            for (int i = 0; i < 15; i++)  
            {
                int zufall = r.Next(0, 15);
                
                if (Zahlen.Contains(zufall))
                {
                    i--;
                }
                else if (!Zahlen.Contains(zufall))
                {
                    Zahlen.Add(zufall);
                    // hier kann dann mit zufall
                    // weitergearbeitet werden
                }
            }
}
Abgelegt unter c#, random, einmalig, zahlen, generieren, erzeugen, einmal.

1 Kommentare zum Snippet

Aregeion schrieb am 24.07.2012:
mmmh, die methode ist nicht effizient, da sie bei steigendem i die laufzeit vergrößert. per zufall die nächste gültige zahl bestimmen zu lassen, das dauert ewig. mach doch einfach sowas:

static void Gen(int max)
{
for (int i = 0; i < max; i++)
{
Zahlen.Insert(r.Next(i + 1), i);
}
}

kurz und vor allem sicher. und das random r bitte zur laufzeit immer nur einmal initialisieren, sonst wirst du wenig zufall sehen^^
 

Logge dich ein, um hier zu kommentieren!