PDA

View Full Version : ایجاد کد تصادفی حداکثر 10 رقم در داخل برنامه



payam200525
چهارشنبه 07 خرداد 1393, 00:47 صبح
چطوری میتونم در سی شارپ کدی بنویسم که عدد تصادفی تولید کنه که در برنامه تکراری نباشه .... یعنی با زدن دکمه newتوسط کاربر یک عدد تصادفی تولید بشه و این عدد قبلا در پایگاه داده تکرار نشده باشه (تمام این اعداد قرار هست به عنوان شناسه در پایگاه داده استفاده بشه)

Ali.hitter
چهارشنبه 07 خرداد 1393, 03:47 صبح
برای هربار که new زده میشه شناسه رو یه عدد قرار بدین که حاصل جمع آخزین شناسه ی ثبت شده و عدد یک باشه!

payam200525
چهارشنبه 07 خرداد 1393, 12:42 عصر
برای هربار که new زده میشه شناسه رو یه عدد قرار بدین که حاصل جمع آخزین شناسه ی ثبت شده و عدد یک باشه!
میشه با کد توضیح بدی؟

Davidd
چهارشنبه 07 خرداد 1393, 13:22 عصر
ابتدا اعداد داخل ديتابيس داخل يك ليست بريز. بعد يك عدد تصادفي 10 رقمي توليد كن (كلاس Random) و چك كن ببين اين عدد در داخل ليست وجود داره يا نه( با استفاده از متد Contains در ليست). اگه وجود داشت يكي ديگه توليد ميكني.
اين روش در صورتي كه تعداد اعدادي كه نياز داري نسبت به طول بازه كم باشند خوب است درغير اينصورت احتمال تكراري بودن اعداد تصادفي توليد شده زياد است.

Ali.hitter
چهارشنبه 07 خرداد 1393, 15:32 عصر
میشه با کد توضیح بدی؟
یه چیزی تو این مایه ها منظورمه
var db = new DataClass1DataContext();
int a = 1;
var qCheckExist = db.tbl_1.Where(c => c.id == a);
while(qCheckExist.Count() != 0)
{
a++;
qCheckExist = db.tbl_1.Where(c => c.id == a);
}

حالا a شناسه ی جدیدیه که قبلا تو جدول نبوده ؛ رکورد جدیدتو با این شناسه ی جدید به جدول اضافه کن