Range(100,5) creates a collection of 5 ints starting at 100 = [100,101,102,103,104]
Next(-20,31) return a random number between -20 and 31
Select uses a lambda with the parameter of the collection type
so r = will be an int array of 5 random numbers between -20 and 31
in the sample code the values of list are not used, only the count, so not sure why a starting value of 100 instead of 0 or 1 was specified.