ความแตกต่างที่สำคัญที่สุดคือความสามัคคีRandom.Range
ที่ใช้งานง่ายกว่าเล็กน้อย System.Random
อย่างไรก็ตามไลบรารี่คลาส C # ให้การควบคุมและแยกตัวคุณได้มากขึ้น
เป็นไปได้ว่าพวกเขายังใช้การใช้งานภายใต้ประทุนที่แตกต่างกัน (แม้ว่าฉันจะเดาได้ว่า Unity's Random
นั้นมีการใช้งานในแง่ของระบบRandom
) แต่นั่นอาจไม่น่าเป็นห่วง พื้นฐานพวกเขาทั้งสองมีแนวโน้มเดียวกันชนิดของเครื่องกำเนิดไฟฟ้าจำนวนสุ่ม: กำเนิดสุ่มหลอกอยู่บนพื้นฐานของการทำซ้ำลำดับที่กำหนดโดยเมล็ดบางส่วน)
ปัญหาการควบคุมมีความเกี่ยวข้องมากกว่าเนื่องจากในบางบริบทคุณอาจต้องการใช้สตรีมแบบสุ่มที่แตกต่างกันสำหรับสิ่งต่าง ๆ ตัวอย่างเช่นในบริบทเครือข่ายเครือข่ายขั้นตอนการล็อคคุณอาจต้องการแก้ไขเมล็ดพันธุ์ที่ใช้ในการสร้างกิจกรรมที่มีผลต่อการเล่นเกมแบบสุ่มในผู้เล่นทุกคนในเกม แต่คุณอาจไม่สนใจกระแสสุ่มของตัวเลขสุ่มที่ใช้ เหตุการณ์ที่มองเห็นและสามารถอนุญาตให้สตรีมนั้นได้รับการฝึกฝนในแบบดั้งเดิม (เช่นช่วงเวลาของระบบเมื่อเปิดตัวเกมเป็นต้น)
ในทำนองเดียวกันหากคุณกำลังจะสร้างตัวเลขสุ่มในหลายกระทู้คุณอาจต้องการใช้วัตถุสุ่มที่แตกต่างกันสำหรับแต่ละกระทู้เพื่อป้องกันเงื่อนไขการแข่งขัน สิ่งนี้อาจเกิดขึ้นได้ถ้าตรรกะของเกมของคุณวิ่งข้ามหลาย ๆ เธรดและคุณก็มีระบบเล่นซ้ำเพลย์เช่นกัน
ในท้ายที่สุดก็ไม่จำเป็นต้องดีกว่าที่จะใช้อย่างใดอย่างหนึ่งหรืออื่น ๆ โดยทั่วไปค่อนข้างมีข้อดีและข้อเสีย เมื่อคุณต้องการที่จะแยกลำดับของตัวเลขจากลำดับสุ่มอื่น ๆ System.Random
ที่อาจจะเกิดขึ้นหรือเมื่อคุณจำเป็นต้องมีการแปลการควบคุมมากกว่าเมล็ดของลำดับให้ใช้ตัวอย่างของ หากคุณต้องการค่าสุ่มที่รวดเร็วและสกปรกสำหรับการใช้งานแบบโยนทิ้งหรือสถานการณ์ที่ไม่มีผลกระทบอื่น ๆ ความเรียบง่ายของ Unity Random
อาจจะใช้ได้