View Full Version : Randomize در C#
روانشناس
پنج شنبه 13 اسفند 1383, 17:25 عصر
من با کمک شما اعضای خوب سایت برنامه نویس یاد گرفتم که اعداد تصادفی تولید کنم. حالا یه مشکل جدید بوجود اومده. اگه بخوام یه سری عدد تصادفی بین 0 و طول فرم تولید کنم فقط اولین عدد بصورت تصادفی تولید میشه!
مثلا کد زیر را در نظر بگیرید: (تولید 10 عدد تصادفی بین 0 و عرض فرم).
for(int i=0;i<10;i++)
{
lblX.Text=lblX.Text + new Random().Next(this.Size.Width).ToString()+ "\n";
}
تو VB برای رفع این مشکل یه تابع داشتیم به اسم Randomize ولی تو C# نمی دونم باید چیکار کنم. لطفا منو راهنمایی کنید.
یه سوال دیگه اینکه معادلهای ScaleHeight و ScaleWidth در C# چی هستند؟
M.GhanaatPisheh
پنج شنبه 13 اسفند 1383, 20:17 عصر
using System;
using System.Threading;
namespace GenTest {
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1 {
// Generate random numbers from the specified Random object.
static void RunIntNDoubleRandoms( Random randObj ) {
// Generate the first six random integers.
for( int j = 0; j < 6; j++ )
Console.Write( " {0,10} ", randObj.Next( ) );
Console.WriteLine( );
// Generate the first six random doubles.
for( int j = 0; j < 6; j++ )
Console.Write( " {0:F8} ", randObj.NextDouble( ) );
Console.WriteLine( );
}
// Create a Random object with the specified seed.
static void FixedSeedRandoms( int seed ) {
Console.WriteLine(
"\nRandom numbers from a Random object with " +
"seed = {0}:", seed );
Random fixRand = new Random( seed );
RunIntNDoubleRandoms( fixRand );
}
// Create a random object with a timer-generated seed.
static void AutoSeedRandoms( ) {
// Wait to allow the timer to advance.
Thread.Sleep( 1 );
Console.WriteLine(
"\nRandom numbers from a Random object " +
"with an auto-generated seed:" );
Random autoRand = new Random( );
RunIntNDoubleRandoms( autoRand );
}
[STAThread]
static void Main(string[] args) {
Console.WriteLine(
"This example of the Random class constructors and " +
"Random.NextDouble( ) \n" +
"generates the following output.\n" );
Console.WriteLine(
"Create Random objects, and then generate and " +
"display six integers and \nsix doubles from each.");
FixedSeedRandoms( 123 );
FixedSeedRandoms( 123 );
FixedSeedRandoms( 456 );
FixedSeedRandoms( 456 );
AutoSeedRandoms( );
AutoSeedRandoms( );
AutoSeedRandoms( );
Console.ReadLine();
}
}
}
C# Programmer
پنج شنبه 13 اسفند 1383, 20:58 عصر
یک متغیر برای کلاس تصادفی خارج از حلقه تعریف کن
مشکلت حل میشه
Random r = new Random() ;
for(int i=0;i<10;i++)
{
listBox1.Items.Add(r.Next(0,100).ToString()) ;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.