2013-11-16 3 views
0

Я пытаюсь создать метод, который хранит уникальное случайное число для класса, и способ, которым я проверяю, является ли он уникальным, - это просмотреть список, содержащий int, строку и дату. Я просто застрял в том, как бы вы его просто искали в списке.Как создать уникальное случайное число, отсутствующее в списке?

+0

Возможные дубликат: http://stackoverflow.com/questions/1011198/non-repetitive-random-number-c-sharp или http://stackoverflow.com/questions/5561742/generate-distinct-random -numbers-in-c-sharp – Sam

+0

Возможный дубликат [Как генерировать «случайные», но также «уникальные» номера?] (http://stackoverflow.com/questions/909983/how-to-generate-random-but- также уникальные номера) – Kurubaran

+0

no все еще могут создать число, которое находится в списке, даже если они уникальны. –

ответ

0

Вы можете использовать руководство, основанное на идентификаторе и дате вашего компьютера. По определению является уникальной строкой каждый раз.

использовать Guid.NewGuid()

Ну если это просто цифры вы можете использовать математическую функцию как этот here затем использовать текущую дату, чтобы ограничить наши возможные номера и использовать случайные функции для генерации уникального номера.

Вы можете использовать в C# этой DateTime.Ticks, чтобы туда добраться.

+0

«Guid» - это не 'int'. –

0

Использование Math.Random Class. См. Здесь, я использую этот класс для генерации пароля. Вы можете указать, какие данные должны поддерживать. если вам нужно целое число, то вы можете указать (от 1 до 9 и 0). Вот один пример.

private string CreatePassword(int length) 
    { 
     string valid = "[email protected]#$"; 
     string res = ""; 
     Random rnd = new Random(); 
     while (0 < length--) 
      res += valid[rnd.Next(valid.Length)]; 
     return res; 
    } 

    public void InitializeData() 
    { 
     string password = CreatePassword(6); 
    } 
Смежные вопросы