Ik gebruik de Random() class om gerandomiseerde waardes op te halen. Echter lijk ik op een probleem te stuiten waar ik op zich wel uit ben, maar toch even een mening van een kenner van wil hebben 
Hetvolgende stukje code:
Geeft dit als output:
Ik wil het random getal dus uit een method halen (omdat ik dus in mijn orginele applicatie meer wil gaan doen met dat getalletje dan alleen ophalen). Je ziet echter dat het randomizen niet helemaal goed gaat. Waarschijnlijk omdat ie het object (op dezelde tijd of tijdframe) opnieuw creëert en dus niks van zijn voorganger wist.
Als ik het namelijk zo doe:
Dan is de output:
Die is dus wel goed, maar da's niet zoals ik het wil dus. Nu kan ik in het eerste geval het Random() objectje modaal creëren en overal waar ik em nodig heb gebruik ik de modaal gecreëerde. Echter ben ik er om netheids-redenen niet helemaal happy mee. Of ben ik dan paranoïde?
Misschien dat iemand nog een leuk idee voor mij hierover heeft?
Hetvolgende stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| using System;
namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Class1 test = new Class1();
for( int i = 0; i <20; i++ ) {
Console.WriteLine( test.GetValue() );
}
Console.ReadLine();
}
public string GetValue() {
return new Random().Next( 3000, 70000000 ).ToString();
}
}
} |
Geeft dit als output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| 28184185 8417736 8417736 8417736 8417736 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 66961807 |
Ik wil het random getal dus uit een method halen (omdat ik dus in mijn orginele applicatie meer wil gaan doen met dat getalletje dan alleen ophalen). Je ziet echter dat het randomizen niet helemaal goed gaat. Waarschijnlijk omdat ie het object (op dezelde tijd of tijdframe) opnieuw creëert en dus niks van zijn voorganger wist.
Als ik het namelijk zo doe:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| using System;
namespace ConsoleApplication2
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Random r = new Random();
for( int i = 0; i <20; i++ ) {
Console.WriteLine( r.Next( 3000, 70000000 ) );
}
Console.ReadLine();
}
}
} |
Dan is de output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| 58596650 20666820 29993605 46628114 16667809 26807543 34353887 823170 10411522 23681616 68385263 9645560 41864623 8407746 69451014 34564774 11981610 55522792 1564718 40341006 |
Die is dus wel goed, maar da's niet zoals ik het wil dus. Nu kan ik in het eerste geval het Random() objectje modaal creëren en overal waar ik em nodig heb gebruik ik de modaal gecreëerde. Echter ben ik er om netheids-redenen niet helemaal happy mee. Of ben ik dan paranoïde?
Misschien dat iemand nog een leuk idee voor mij hierover heeft?
Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.