Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengelakkan Nombor Rawak Pendua dalam C#?

Bagaimanakah Saya Boleh Mengelakkan Nombor Rawak Pendua dalam C#?

DDD
DDDasal
2025-01-05 06:45:39883semak imbas

How Can I Avoid Duplicate Random Numbers in C#?

Elakkan Nilai Rawak Pendua dengan Menanam Kelas Rawak

Isu yang diterangkan ialah nilai rawak yang dijana oleh kelas Rawak tidak benar-benar rawak, membawa kepada nombor pendua dijana dalam gelung. Ini berlaku kerana penjana nombor rawak (RNG) menggunakan nilai benih untuk menjana nombor, dan jika benih yang sama digunakan setiap kali, urutan nombor yang sama akan dijana.

Untuk mengatasi masalah ini, ia adalah penting untuk menyemai RNG dengan nilai yang berbeza setiap kali. Ini memastikan urutan nombor rawak adalah benar-benar rawak dan tidak boleh diramal.

Satu kaedah yang berkesan untuk membenihkan RNG ialah menggunakan kod cincang GUID yang dijana secara rawak (pengecam unik global). Pendekatan ini menjana nilai benih yang sangat rawak disebabkan oleh rawak yang wujud pada GUID.

Di bawah ialah contoh kod yang menunjukkan teknik ini:

Random rand = new Random(Guid.NewGuid().GetHashCode());

Dengan melaksanakan kaedah pembenihan ini, anda boleh mengelakkan nilai rawak pendua dan dapatkan urutan nombor yang benar-benar tidak dapat diramalkan untuk aplikasi anda.

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

Kenyataan:
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