C# 在.NET中创建简单随机数

C# 在.NET中创建简单随机数,c#,random,C#,Random,我需要一个简单的随机数来创建一个循环,但我一辈子都搞不清楚我做错了什么。有人能看看下面的代码并向我解释为什么它会给我以下错误: 错误1“System.Random.Next(int, int)“”具有一些无效参数 错误2参数1:无法转换 从“十进制”到“整数” 错误3参数2:无法从转换 “十进制”到“整数” 我试图从数字上/下控件中提取范围的最小值和最大值。我假设LINQ或C#会有一个简单的单线生成器,但我找不到它 Random rnd1 = new Random(); var integer

我需要一个简单的随机数来创建一个循环,但我一辈子都搞不清楚我做错了什么。有人能看看下面的代码并向我解释为什么它会给我以下错误:

错误1“System.Random.Next(int, int)“”具有一些无效参数

错误2参数1:无法转换 从“十进制”到“整数”
错误3参数2:无法从转换 “十进制”到“整数”

我试图从数字上/下控件中提取范围的最小值和最大值。我假设LINQ或C#会有一个简单的单线生成器,但我找不到它

Random rnd1 = new Random();
var integer = rnd1.Next(numericUpDown_RandomMin.Value, 
                                                  numericUpDown_RandomMax.Value);
textbox.Text = integer.ToString();

首先,
numericUpDown\u RandomMin.Value
..\u RandomMax.Value
不是
int
,因此您可能需要强制转换:

var integer = rnd1.Next((int)numericUpDown_RandomMin.Value, (int)numericUpDown_RandomMax.Value);

除此之外,您还遇到了哪些错误?

NumericUpDown是一个小数,您需要将其转换为整数

var integer = rnd1.Next((int)numericUpDown_RandomMin.Value, (int)numericUpDown_RandomMax.Value);

Random.Next
需要两个
Int32
值,但
NumericUpDown.Value
属性是一个
decimal
。因为从
decimal
int
的转换会降低一些值精度,所以您必须明确地执行此操作:

rnd1.Next((int)numericUpDown_RandomMin.Value, (int)numericUpDown_RandomMax.Value);

Value返回一个十进制,而Next()接受一个整数。您可能希望首先将其转换为整数:

var integer = rnd1.Next((int)numericUpDown_RandomMin.Value, (int)numericUpDown_RandomMax.Value);
由于的返回类型为
Decimal
,您需要显式地将
numericUpDown\u RandomMin.Value
numericUpDown\u RandomMax.Value
值转换为
Int32
,因为其中包含两个参数
Int32
。喜欢

Random rnd1 = new Random();
var integer = rnd1.Next((int)numericUpDown_RandomMin.Value, (int)numericUpDown_RandomMax.Value);
textbox.Text = integer.ToString();

什么语法错误?你确定
numericUpDown\u randommamin.Value
numericUpDown\u RandomMax.Value
都是
int
Int32
类型吗?如果你的
numericUpDown\u randommamin.Value
numericUpDown\u RandomMax.Value
不是
Int32
,我看不出任何问题在这里学习,所以整个投票否决是荒谬的。@Jeagr投票是基于问题的质量,这完全独立于代码的质量。这个问题突出的主要问题是,您没有包含足够的代码来实际重现问题。如果不知道什么是
numericUpDown\u RandomMin.Value
numericUpDown\u RandomMax.Value
,我们真的做不了多少,这显然是问题的根源所在。新手程序员可以问高质量的问题,而非常高级的程序员可以问质量很差的问题;投票主要基于问题的质量。谢谢,我知道这很简单!谢谢,我就知道这很简单!