Primeramente vamos a crear un aletario entre dos números para ello usamos la funcion Random de c#
Random mirandomc = new Random(DateTime.Now.Millisecond);
En mi caso añado un valor DateTime.Now.Millisecond para que sea aun un poco más aleatorio.
Una vez lo tenemos solo debemos usar la variable mirandomc con la función next
int aleatorio = mirandomc.Next(2,5);
Eso nos devuelve el aleatorio entre 2 y 5 en integer pero ahora viene lo bonito consigamos decimales para que el valor se repita aun menos.
Seguimos con nuestra declaración de Random
Random mirandomc = new Random(DateTime.Now.Millisecond);
var next = mirandomc.NextDouble();
double aleatorio = 2 + (next * (5 – 2));
Aqui podemos usar variables siendo dos el valor minimo del random y 5 el valor máximo.