Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menjana Nombor Rawak Unik dalam C#?

Bagaimanakah Saya Boleh Menjana Nombor Rawak Unik dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-21 13:21:10
asal
197 orang telah melayarinya

How Can I Generate Unique Random Numbers in C#?

Menjana nombor rawak unik dalam C#

Soalan:

Pembangun C# sering menghadapi cabaran menjana nombor rawak yang unik. Walaupun anda menggunakan System.Random dan DateTime.Now.Ticks sebagai benih, anda mungkin menghadapi masalah dengan nombor pendua. Bolehkah anda mencadangkan cara alternatif untuk menyelesaikan masalah ini?

Jawapan:

Walaupun Random.Next tidak menjamin keunikan, penyelesaian mudah ialah mengekalkan senarai nombor yang dijana. Algoritma di bawah menunjukkan cara untuk mencapai ini:

public Random a = new Random();
private List<int> randomList = new List<int>();
int MyNumber = 0;

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

Kod ini memulakan contoh Rawak (tiada panggilan GetHashCode diperlukan kerana ia dilakukan secara dalaman secara lalai) dan senarai untuk menyimpan nombor yang dijana. Fungsi NewNumber menjana nombor rawak antara 0 dan 9. Jika nombor itu tiada dalam senarai, ia ditambah pada senarai, sekali gus memastikan keunikan nombor dalam julat yang diberikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Nombor Rawak Unik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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