برگزیده های پرشین تولز

تولید اعداد رندوم

HADI_EN

Registered User
تاریخ عضویت
20 مارس 2006
نوشته‌ها
242
لایک‌ها
2
سلام من می خواستم در سی شارپ بین دو تا عدد مثلا 5 تا 100 عدد رندوم تولید کنم ولی در تولید رندوم بعدی عدد رندوم تولید شده قبلی لحاظ نشه

مثلا بین 5 تا 100 اگه 20 انتخاب شد در تولید بعدی دیگه عدد 20 انتخاب نشه و به همین ترتیب مثلا تا تولید 10 عدد این قضیه باشه
 

>-->O

همکار بازنشسته
تاریخ عضویت
25 نوامبر 2009
نوشته‌ها
2,530
لایک‌ها
468
محل سکونت
㋡ همین جا ㋡
این متد که نوشته شده
یک آرایه ای تصادفی از اعداد غیر تکراری ایجاد میکند که در یک محدوده عددی مورد نظر ایجاد میگردد: (GetRandomIndex)

کد:
///<summary>
/// ایجاد شاخص تصادفی برای یک محدوده
///</summary>
///<param name="MinValue"></param>
///<param name="MaxValue"></param>
///<returns></returns>
publicstaticint[] GetRandomIndex(int MinValue, int MaxValue)
{
List<int> RtnList = newList<int>();
Random R = newRandom();
int Cnt = 0;
while (Cnt < MaxValue - MinValue + 1)
{
int r = R.Next(MinValue - 1, MaxValue + 1);
if (BetWeen(r, MinValue, MaxValue) && !RtnList.Contains(r))
{
RtnList.Add(r);
Cnt++;
}
}
return RtnList.ToArray();
}


کد:
publicstaticbool BetWeen(object MainValue, object Value1, object Value2)
{
decimal TmpMainValue = Convert.ToDecimal(MainValue);
decimal TmpValue1 = Convert.ToDecimal(Value1);
decimal TmpValue2 = Convert.ToDecimal(Value2);
return (TmpValue1 <= TmpMainValue && TmpMainValue <= TmpValue2);
}
 

HADI_EN

Registered User
تاریخ عضویت
20 مارس 2006
نوشته‌ها
242
لایک‌ها
2
همون چیزی بود که می خواستم

ممنون از شما
 
بالا