我一直在声明一个具有ulong参数的类,但是当我想要在构造函数中分配它时,程序告诉我,有些东西是错的,但我不明白是什么。这是一种超长类型,我不想让他转换任何东西。如果不能将类型'long'隐式转换为'ulong'。 (+ random ulong)
public class new_class
{
ulong data;
new_class()
{
Random rnd = new Random();
data = rnd.Next() * 4294967296 + rnd.Next(); //4294967296 = 2^32
}
}
奖励积分,你可以告诉我,如果这个声明随机ULONG是正确的,它应该首先随机INT(32位),并将它们存储在ULONG的前32位,然后再做新的随机数,并将其储存在第二个32位。
Random.Next'返回一个肯定的(但是有符号的)'int'。你必须把它扔到'ulong'。 – Blorgbeard