public static int GetPersistentRandomNumber(int index, int minValue = 1, int maxValue = 10000) { if (RandomNumbers.ContainsKey(index)) { return(RandomNumbers[index]); } else { lock (lockObject) { RandomNumbers[index] = RandomGenerator.Next(minValue, maxValue); } return(RandomNumbers[index]); } }