Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menjana Nombor Rawak Tidak Berulang dalam C#?

Bagaimana untuk Menjana Nombor Rawak Tidak Berulang dalam C#?

Linda Hamilton
Lepaskan: 2025-01-21 13:11:10
asal
879 orang telah melayarinya

How to Generate Non-Repeating Random Numbers in C#?

Jana nombor rawak unik dalam C#

Dalam pembangunan aplikasi yang perlu menjana nombor unik rawak, pembangun sering menghadapi masalah dengan kelas System.Random. Walaupun anda menggunakan DateTime.Now.Ticks sebagai benih, mungkin masih terdapat nombor pendua.

Selesaikan masalah nilai pendua

System.Random.Next() sendiri tidak menjamin keunikan nombor yang dijana. Apabila digabungkan dengan julat yang lebih sempit (cth. 0 hingga 10), kebarangkalian untuk menemui nilai pendua adalah lebih tinggi.

Alternatif: Penyelenggaraan Senarai

Untuk mengatasi had ini, pendekatan yang lebih mantap ialah mengekalkan senarai nombor yang dijana. Penduaan boleh dielakkan dengan menyemak sama ada nombor berpotensi sudah wujud dalam senarai.

Berikut ialah pelaksanaan yang diubah suai menggunakan strategi ini:

<code class="language-csharp">public Random a = new Random();
public List<int> randomList = new List<int>();
int MyNumber = 0;

private void NewNumber()
{
    MyNumber = a.Next(0, 10);
    if (!randomList.Contains(MyNumber))
        randomList.Add(MyNumber);
}</code>
Salin selepas log masuk

Pendekatan ini memastikan penciptaan nilai yang benar-benar unik dengan mengekalkan senarai nombor yang dijana dan menapis pendua.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Nombor Rawak Tidak Berulang dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan