吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1231|回复: 23
收起左侧

[求助] 同样装了.NET6.0的不同电脑上运行,C# Random类用同样seed,能生成同样的随机数么?

[复制链接]
ilovecomputer66 发表于 2023-2-16 16:42
官方MSDN上没有给出这个问题的任何说明:https://learn.microsoft.com/zh-cn/dotnet/api/system.random?view=net-7.0

我就一台电脑,没法测试

[C#] 纯文本查看 复制代码
private void button7_Click(object sender, EventArgs e)
        {
            Random r1 = new Random(1234567);
            List<int> l1 = new List<int>();
            for (int i = 0; i < 10; i++)
                l1.Add(r1.Next(9));

            Random r2 = new Random(1234567);
            List<int> l2 = new List<int>();
            for (int i = 0; i < 10; i++)
                l2.Add(r2.Next(9));

            bool isAllEquals = true;
            for (int i = 0; i < 10; i++)
            {
                if (l1[i] != l2[i])
                    isAllEquals = false;
            }

            StringBuilder sb = new StringBuilder();
            sb.Append($"生成是否相同:{isAllEquals}\n具体随机的数字为:\n");
            for (int i = 0; i < 10; i++)
                sb.Append(l1[i]).Append(",");

            MessageBox.Show(sb.ToString());
        }



仅仅只在我电脑上,多次运行,永远是

7,6,2,1,5,8,8,4,4,1,

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
cjcmxc + 1 + 1 我很赞同!
夫子点灯 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ctacy 发表于 2023-2-16 16:55
在C#中,如果使用相同的种子(seed)实例化Random类,可以生成相同的随机数序列。但是,在不同的电脑上使用不同版本的.NET Core可能会导致不同的随机数生成算法,从而生成不同的随机数序列。

由于计算机生成的随机数本质上是伪随机数,因此在不同的操作系统、硬件和软件环境中,可能会产生不同的随机数序列。因此,使用相同的种子(seed)实例化Random类并不能保证在不同的电脑上生成相同的随机数序列。

如果您需要在多个计算机之间生成相同的随机数序列,建议使用特定的随机数生成算法,并确保在所有计算机上使用相同的算法和实现。
Je11y 发表于 2023-2-16 16:56
ctacy 发表于 2023-2-16 16:58
---------------------------

---------------------------
生成是否相同:True
具体随机的数字为:
7,6,2,1,5,8,8,4,4,1,
---------------------------
确定   
---------------------------
kenxy 发表于 2023-2-16 17:16
我电脑生成的也是一样的
不知道改成啥 发表于 2023-2-16 17:44
种子你用Guid就不一样了
头像被屏蔽
yuyunxi 发表于 2023-2-16 18:23
提示: 该帖被管理员或版主屏蔽
z746090883 发表于 2023-2-16 18:29
建议 使用GUID ,guid不会重复
Broadm 发表于 2023-2-16 19:09
我的电脑生成的也一样, 只要类库算法一致,肯定生成的相同,, 相同的.net版本没改算法的话,是一致的
 楼主| ilovecomputer66 发表于 2023-2-16 19:39
2楼和3楼说法明显是对立的。2楼说和目标电脑有关。3楼说之和编译时有关
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表