How can I get more than one random numbers in a specific range using C#?

You can try Linq:

  // Easiest, but not thread safe
  private static Random s_Generator = new Random()

  ...

  int outerCount = 3; // 3 groups
  int innerCount = 3; // each group has 3 items

  int[][] randoms = Enumerable
    .Range(0, outerCount)
    .Select(x => Enumerable
       .Range(0, innerCount)
       .Select(y => s_Generator.Next(1, 10)) // let randoms be in [1..9] range
       .ToArray())
    .ToArray();

Test:

   string report = string.Join(" ", randoms
     .Select(item => "{" + string.Join(",", item) + "}"));

   Console.Write(report);

Outcome (may differ from run to run since we output random numbers):

   {7,4,5} {1,7,4} {6,5,6}

Leave a Comment