PDA

View Full Version : سوال: دسترسی رندوم به اعضای آرایه



IMANAZADI
دوشنبه 01 اسفند 1390, 15:27 عصر
با سلام خدمت دوستان
من توی یک برنامه آرایه ای از رنگ ها به صورت زیر دارم






Color [] col = new Color [] { Color.White ,Color.Red ,Color.Blue ,Color.Brown ,Color.Green ,Color.GreenYellow ,Color.Orange };

چطوری میتونم بصورت رندوم رنگی یکی از اعضای این آرایه رو در یک تایمر به یک backcolor یک لیبل اختصاص بدم


این تابه رو نوشتم جواب نمیده ایراد از چیه


private Color sel ()
{
Color [] cl = new Color [] { Color.White ,Color.Red ,Color.Blue ,Color.Brown ,Color.Green ,Color.GreenYellow ,Color.Orange };

Random rnd = new Random ();
Color rang;
switch (rnd.Next (7))
{
case 0:
rang = cl [0];
break;
case 1:
rang = cl [1];
break;
case 2:
rang = cl [2];
break;
case 3:
rang = cl [3];
break;
case 4:
rang = cl [4];
break;
case 5:
rang = cl [5];
break;
case 6:
rang = cl [6];
break;

}

return rang;


}

sds1920
دوشنبه 01 اسفند 1390, 15:41 عصر
توابع رندوم معمولا به لبه هاي برد تابع حساس هستند.شما يه کاري بکن.يه عدد تصادفي بدون محدوده توليد کن.بعد باقيمانده تقسيم اون عدد رو به عدد 7 (7 = تعداد اعضاي آرايه) به عنوان انديس آرايه انتخاب کن.اينجوري احتمال انتخاب تمام اعضاي آرايه يکسان مي شه.

IMANAZADI
دوشنبه 01 اسفند 1390, 15:43 عصر
خودم پیدا کردم
واسه دوستان اگه بکارشون میاد



private Color sel ()
{
Color [] cl = new Color [] { Color.White ,Color.Red ,Color.Blue ,Color.Brown ,Color.Green ,Color.GreenYellow ,Color.Orange };

Random rnd = new Random ();
return cl [rnd.Next (cl.Length)];

}