مولد الأرقام العشوائية في C# (Random) يُرجع دائمًا نفس الرقم في الحلقة
الجميع مرحبا! أنا مبتدئ في لغة C# وأحاول إنشاء قائمة من الأرقام العشوائية في حلقة for. لكن لدي مشكلة: كل رقم في القائمة متطابق! إليك الكود الخاص بي:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List numbers = new List();
for (int i = 0; i < 10; i++)
{
Random rand = new Random();
int num = rand.Next(1, 100);
numbers.Add(num);
}
foreach (int n in numbers)
{
Console.WriteLine(n);
}
}
}
```
كنت أتوقع رؤية 10 أرقام عشوائية مختلفة من 1 إلى 99، لكن بدلاً من ذلك أحصل على شيء مثل:
```
45
45
45
45
45
45
45
45
45
45
```
على الرغم من أن الرقم يتغير أحياناً إذا أعدت تشغيل البرنامج، ولكن في نفس الجلسة كل الأرقام متطابقة. لقد جربت قيماً مختلفة للبذرة، وغيرت النطاق — ولم يساعدني شيء. لماذا يحدث هذا؟ كيف يمكنني توليد أرقام عشوائية مختلفة بشكل صحيح؟