PDA

View Full Version : سوال: اشكال در ايجاد اعداد تصادفي



Diba_Dina
پنج شنبه 14 مرداد 1389, 14:03 عصر
سلام
تابع زير را براي بدست اوردن 9 عدد تصادفي نوشتم ولي با erorr مواجه مي شم.لطفا راهنمايي كنيد.

private int GetRandomNumber()
{
int iRandom = random.Next(1, 9);
if (!list.Contains(iRandom))
{
list.Add(iRandom);
return iRandom;
}
return GetRandomNumber();
}

eroor
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll

Salar Ashgi
پنج شنبه 14 مرداد 1389, 14:16 عصر
گویا تابع تون بشکل بازگشتیه ، ولی منطق اش بنظر اشتباه میاد . بهتره کاری که میخواین انجام بدین
رو مطرح کنید تا بهتر بشه راهنمایی کرد ./

Diba_Dina
پنج شنبه 14 مرداد 1389, 14:34 عصر
مي خوام از 0 تا 9،9 عدد تصادفي بدست بيارم و توي يه ليست ذخيره كنم.
مرسي از توجه شما.

M.YasPro
پنج شنبه 14 مرداد 1389, 14:37 عصر
سلام
شما 9 تا عدد می خواهید ولی این رو چک نمی کنید که ببینید بیشتر از 9 نمیشه ، لااقل توی این تیکه کد که چنین چیزی نیست .




private int GetRandomNumber()

{
int iRandom = random.Next(1, 9);

if( list.count<10)
{
if (list.Contains(iRandom))
{
return GetRandomNumber();
}

list.Add(iRandom);
return iRandom;
}

}



در حالت قبل با شرط قبلی متد خودش رو بارها صدا میزد و باعث پرتاب ارور بالا میشد .
موفق باشید .

Diba_Dina
پنج شنبه 14 مرداد 1389, 15:02 عصر
از اين خط ايراد مي گيره
int iRandom = random.Next(1, 9);
كد شما رو هم نوشتم باز error داد
مرسي