J'essaie de générer une chaîne d'une longueur aléatoire qui consiste en char
s aléatoire.essayer de créer une chaîne de valeurs aléatoires
Pour ce faire, j'ai ce code:
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 1000; i++)
{
MyString test = new MyString();
test.Random();
Console.WriteLine(test.Value);
}
Console.ReadLine();
}
}
public class MyString
{
private string value = string.Empty;
private Random r = new Random();
public string Value
{
get { return this.value; }
set { this.value = value; }
}
public void Random()
{
int length = (r.Next() % (100)) + 1;
for(int i = 0; i < length; i++)
{
value = value + RandomChar();
}
}
public char RandomChar()
{
// 32 to 126
int c = (r.Next() % 95) + 32;
char ch = (char)c;
return ch;
}
}
Maintenant, permet de regarder une partie de la sortie:
Comme vous pouvez le voir, la sortie est loin d'être aléatoire , il contient beaucoup de chaînes répétitives. Comment est-ce possible et comment le résoudre?
C'est la chose au sujet de hasard, vous ne pouvez jamais savoir si ce n'est pas au hasard. – NullUserException
Cette image est très difficile à lire. –
Random.Next a trois surcharges, au moins l'un d'entre eux devrait vous intéresser: http://msdn.microsoft.com/en-us/library/13td4hz1.aspx – Tergiver