使用 C#,如何将变量设置为范围内的随机数? [复制]

Posted

技术标签:

【中文标题】使用 C#,如何将变量设置为范围内的随机数? [复制]【英文标题】:Using C #, how can I set a variable to a random number within a range? [duplicate] 【发布时间】:2016-06-27 21:36:31 【问题描述】:

我创建了一个名为 Superhero 的类,并赋予它以下属性: 字符串名称、int Life、int Punch、int Kick 和 int Hyper Punch。

然后在我的主程序内部我创建了一个列表。

static void Main(string[] args)

List<Superhero> listOfHeroes = new List<Superhero>;
Superhero goodGuy = new Superhero();
goodGuy.Name = "Super Man";
goodGuy.Life = 100;
goodGuy.Punch =????

我希望能够在“????”处输入一系列数字是。我的理论是,用户将能够从列表中选择一个英雄,并能够将他用于战斗。当他选择英雄出拳(或踢球或其他)时,会为该属性分配一个设定范围内的随机数。

因此,如果这是一个两人回合制游戏,则在使用属性拳时,会根据拳的价值从对方的生命财产中带走。这是一种可能性还是我做错了?

伪随机是可以的。

顺便说一句,我在新兵训练营的第 4 周...如果这些都没有道理,请严厉地对我大喊大叫,这样我就可以更快地学习哈哈。

【问题讨论】:

int value = Random.Next(min, max-1) @Plutonix 当我将该代码放入时,我收到一条错误消息“非静态字段、方法或属性 'Random.Next(int,int)' 需要对象引用”这是因为我没有创建 Random 的实例吗? 【参考方案1】:

您需要使用以下方法初始化一个 Random 实例:

 Random rand = new Random(DateTime.Now);

那么你可以使用:

int value = rand.Next(min, max-1)

如果您没有 Random 实例的全局初始化,您将始终使用相同的编号:

for (int i = 0; i < 10; i++)

   var t = (new Random()).Next(0, 100);
   Console.WriteLine(t);

将返回相同的值

【讨论】:

以上是关于使用 C#,如何将变量设置为范围内的随机数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

邮递员 - 如何生成特定范围内的随机数?

如何在excel中生成一个在一定范围内的随机数

C# 后台如何向SQL数据库中插入一定时间范围内的随机日期值,到日就可以!!

C# 获取一个指定范围内的随机日期函数代码

生成随机数几种方式

C#中能得到随机数的函数是啥啊,怎么才能将随机输出的随机数赋给一个变量?