this code fait partie de NBuilder. Je passe une mauvaise journée ... et pour le prouver, je ne comprends pas ce que ce code (simple) essaie de faire.Comment fonctionne ce code .NET?
Voici les réponses, avec le code après.
GetRandom.Phrase(5) == null or et or ut or do or elit or amet..
(nothing over 4 characters)
GetRandom.Phrase(4) == null or sit or sed or do ..
(nothing over 3 characters)
GetRandom.Phrase(3) == null or et or ut or do (nothing over 2 characters)
GetRandom.Phrase(2) == null
GetRandom.Phrase(1) == null
et le code ...
private static readonly string[] latinWords = { "lorem", "ipsum", "dolor",
"sit", "amet", "consectetur", "adipisicing", "elit", "sed", "do",
"eiusmod", "tempor", "incididunt", "ut", "labore", "et", "dolore",
"magna", "aliqua" };
public virtual string Phrase(int length)
{
var count = latinWords.Length;
var result = string.Empty;
var done = false;
while (!done)
{
var word = latinWords[Next(0, count - 1)];
if (result.Length + word.Length + 1 > length)
{
done = true;
}
else
{
result += word + " ";
}
}
return result.Trim();
}
j'aurais pensé que la méthode doit renvoyer un nombre x de phrases ou une expression aléatoire d'au moins la longueur spécifiée?
donc si j'ai passé le nombre '50' ... cela continuerait-il à ajouter des phrases jusqu'à ce qu'il essaie d'ajouter une phrase qui DÉPASSE 50, puis s'arrête? –
Je ne vois pas où le hasard vient jouer. – griegs
@ Pure.Krome, il continuerait à ajouter des * mots * jusqu'à ce que le * mot * suivant * fasse que la * phrase * dépasse la longueur spécifiée. À ce stade, la seule * phrase * est renvoyée. –