Задача генерации случайных чисел является очень важной для любого языка программирования. В библиотеке .Net существует стандартная функция получения случайного числа:
System.Random rnd = new System.Random((int)DateTime.Now.Ticks); // создаем генератор с начальным значением зависящим от текущего времени
int СлучайноеЧисло = rnd.Next(100); // генеририуем случайное число от 0 до 100
Но данный метод генерации случайных чисел сильно зависит от начального значения и не всегда удовлетворяет потребностям программы. Кроме того, Microsoft советует использовать в рамках программы один экземпляр объекта для предотвращения генерации одинаковых случайных последовательностей (при одинаковых начальных значения последовательности будут совпадать, что может быть критично при работе в циклах или параллельных вычислениях, а так же неудобно при создании общих пользовательских функции).
Если вам требуется более надежный алгоритм генерации случайных чисел то вам, скорей всего, подойдет функция генерации криптографически защищенного случайного числа, которая реализована в .Net потомками класса System.Security.Cryptography.RandomNumberGenerator, например System.Security.Cryptography.RNGCryptoServiceProvider.