Új hozzászólás Aktív témák

  • Jhonny06

    veterán

    válasz atti1848 #3197 üzenetére

    Nem árt késleltetni egy kicsit:

    Thread.Sleep(1000);

    A paramétert ezredmásodpercben kell megadni, azaz a fenti kód 1 másodperccel fogja késleltetni, de ez sok a program futásakor, azaz olyan 10-100 közötti érték már ideális. Túl gyorsan generálódnak az értékek.

    Ilyesmit is lehet:

    using System;
    using System.Threading;

    public static class RandomHelper
    {
    private static int seedCounter = new Random().Next();

    [ThreadStatic]
    private static Random rng;

    public static Random Instance
    {
    get
    {
    if (rng == null)
    {
    int seed = Interlocked.Increment(ref seedCounter);
    rng = new Random(seed);
    }
    return rng;
    }
    }
    }

    Amúgy a dupla for ciklusnak semmi értelme, mert pont akkor nem tesz bele értéket, amikor nem egyenlő egy másik számmal és neked pont akkor kéne, amikor nem egyenlő. Így akkor tesz bele, amikor egyenlő.

    Ennyi az egész:

    Random rnd = new Random();
    int[] szamok = new Int32[5];


    for (int i = 0; i < szamok.Length; i++)
    {
    szamok[i] = rnd.Next(1, 90);
    Thread.Sleep(100);
    }

    for (int i = 0; i < szamok.Length; i++)
    Console.WriteLine(szamok[i]);

    System.Threading-et using-olni kell természetesen.

    [ Szerkesztve ]

Új hozzászólás Aktív témák