所以我试图做一个随机数生成器:
private static void init()
{
int[] integ = new int[10];
Random random = new Random();
// init
foreach (int integer in integ)
{
integ[integer] = rand.Next(5,35);
}
foreach (int b in integ)
{
Console.WriteLine("Byte = " + b);
}
}
static void Main(string[] args)
{
init();
Console.ReadKey();
}
但是由于某种原因,当我运行它时,它会显示以下内容:
Byte = (*random number here*)
Byte = 0
Byte = 0
etc...
我多次运行以确保每次都只有第一个具有非零数字。
任何建议,将不胜感激,在此先感谢。
让我们看一下它的作用:
foreach (int integer in integ)
{
integ[integer] = rand.Next(5,35);
}
基本上,foreach
通过循环迭代值的integ
(这是所有初始0
),并设定在该索引值integ
的随机数。因此,它将仅填充数组中的第一项。
要初始化数组,请使用for
循环:
for (int i = 0; i < integ.Length; i++)
{
integ[i] = rand.Next(5,35);
}
或者,如果您对Linq感到满意,则:
Random random = new Random();
int[] integ = Enumerable.Repeat(0, 10)
.Select(i => random.Next(5, 35))
.ToArray();
而且正如Blindy所指出的,如果您只想打印值,那么您甚至不需要数组:
Random random = new Random();
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Byte = {0}", rand.Next(5,35));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句