2015-07-28 2 views
1

Сегодня у меня возникает проблема при создании случайного идентификатора с типом Guid в C#.Сохранять переменные при использовании Тип руководства

Когда я хочу случайный идентификатор. И я использую:

obj.ID = new Guid(txtID.Text); //ID type Guid 

Но при запуске программы. Автоматическая генерация 1 случайная случайная, когда я сажу карту.

Я хочу, когда салфетки карты. Он будет случайным идентификатором и сохранит эти значения, пока я его не удалю.

Редактировать: Мой английский не очень хорошо. Извини за это.

Вот мой код генерировать Guid и установить значение текстового поля:

mReader.CurrentCardIDBlock1 = System.Guid.NewGuid().ToString("N"); 
mReader.CurrentCardIDBlock2 = System.Guid.NewGuid().ToString("N"); 

txtID.Text = mReader.CurrentCardIDBlock1.ToString(); 
String strCompont = txtID.Text; 

onWriteDataBlock1(strCompont); //Write data to mifare card in block 1 sector 14 
MessageBox.Show("Write data success"); 

Если swipe card 1>random id[any value].
Продолжение swipe card 1>random id[any value]. =>incorrect.

Я хочу swipe card 1>random id[value 1], если я возьму с собой считыватель RFID и поставлю снова.
До тех пор, пока значения возврата не будут random id[value 1] в card 1 для меня.

Пробел card 2>random id[any value]. Swipe card 3>random id[any value]. => Все нормально.

Я думаю это легко представить. Благодаря @Preston Guillot.

спасибо !!!

+4

'new Guid (txtID.Text)' не создает случайный GUID - он анализирует текстовое значение как GUID. 'Guid.NewGuid()' создает новый GUID, который не является «случайным», с криптографической точки зрения, но является * уникальным *. –

+0

Preston прав, кроме txtID всегда будет одинаковым ... – yams

+0

Спасибо за @PrestonGuillot и @Robert Paulson. В потоке я создал 'mReader.CurrentCardIDBlock1 = Guid.NewGuid();' для создания случайного Guid. Но когда я сажу карточку 'n раз' и другую карту, она показывает' n ID' Guid. Я хочу сохранить ID для 1 карты. При использовании новой карты, она будет случайным другим ID на новую карту. –

ответ

2

Просто используйте Guid.NewGuid() вместо явного instanciation, он будет генерировать уникальный идентификатор 99,9%.

+0

Спасибо @ Валихан Ахмедов. Я создаю, как ваша команда. Но моя проблема - вопрос выше. –

Смежные вопросы