当前位置:编程学习 > C#/ASP.NET >>

java中的 random()函数如何转化为C#呢

下面是一段java代码,看看怎么能转到C#代码
Date dt = new Date();
Random rand = new Random(dt.getTime());
n = rand.nextInt();

dt.getTime() 得到是一个64位长整型,在C#中,无法放入 random(int)方法的,因为C#中,random()方法的参数只能是32位整数。
若我用C#写程序,如果写??? --------------------编程问答-------------------- 目的都是一样的,64和32无所谓啦.
int nSeed=(int)(DateTime.Now.Ticks >> 32);
Random r = new Random(nSeed);
--------------------编程问答-------------------- C#也有Random --------------------编程问答--------------------
引用 1 楼 nanqi0506 的回复:
目的都是一样的,64和32无所谓啦.
C# code
int nSeed=(int)(DateTime.Now.Ticks >> 32);
Random r = new Random(nSeed);


问题是,这个java程序是服务器运行的,如果种子不一样,得到的nextInt()结果肯定不同,也就是说,虽然大家都是取一个任意随机数,但是当我用c#计算的结果打开网页时,服务器就验证通不过了. --------------------编程问答-------------------- 晕!

就算你用另外一个java服务程序运行,怎么保证与另外一个服务程序种子一样?!

我认为你不要使用.net,专心使用你的java吧,这样还可以做出更大的事情。以免把纠结的问题归咎于语言平台方面。 --------------------编程问答-------------------- 我发现了,sp1234一般都说些没用的话,人家需要这个帮助,你是在打击人家, --------------------编程问答--------------------
引用 3 楼 robbyrao 的回复:
引用 1 楼 nanqi0506 的回复:

目的都是一样的,64和32无所谓啦.
C# code
int nSeed=(int)(DateTime.Now.Ticks >> 32);
Random r = new Random(nSeed);


问题是,这个java程序是服务器运行的,如果种子不一样,得到的nextInt()结果肯定不同,也就是说,虽然大家都是取一个任意随机数……

那你认为,既然大家都叫“Random”,所以用了相同的种子就会出来相同的结果吗
生成随机数可不是什么标准算法 --------------------编程问答--------------------
引用 5 楼 chen576161825 的回复:
我发现了,sp1234一般都说些没用的话,人家需要这个帮助,你是在打击人家,



怎么说呢,因为这段java程序,是在服务器端工作的,我要在本地计算这个结果,用C#程序来模拟计算,但结果就是服务器验证不通过,这就说明了,本地C#程序生成的随机数,在服务器端的java程序是不可能产生的,否则服务器不会验证不同过的。

也就是说用C#的random得到的随机数,结果总是被服务器验证失败了,但人家JAVA的程序总是OK的,不知怎么回事呢。 --------------------编程问答-------------------- .net和java中的random肯定内部生成方法不一样,最简单的方法是你本地用java做个webservice,然后.net调用,如果你其他程序一定要拿.net写的话
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,