我創建了一個名爲x
一個Random
類對象for
環內,呼籲x.next(1,7)
應返回1
和6
,對象創建和x.next()
功能之間的變量放在裏面的for循環會發生什麼其執行,而不是返回隨機變量5
倍它返回在每個迭代當在C#對象變量聲明爲靜態
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
for(int i=1;i<=5;i++)
{
Random x = new Random();
Console.WriteLine(x.Next(1,7));
}
}
}
}
我的輸出如下
5
5
5
5
5
相同的值
當我把外循環的對象聲明它每次迭代
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Random x = new Random();
for(int i=1;i<=5;i++)
{
Console.WriteLine(x.Next(1,7));
}
}
}
}
這一次我的輸出是
4
5
9
3
1
在返回隨機變量,也當x
聲明爲類的靜態變量的作品程序如下
using System;
namespace ConsoleApplication1
{
class Program
{
static Random x = new Random();
static void Main(string[] args)
{
for(int i=1;i<=5;i++)
{
Console.WriteLine(x.Next(1,7));
}
}
}
}
現在輸出的是
4
7
3
7
9
,但我想知道爲什麼當物體在循環 內聲明它返回相同的值,並在對象變量聲明爲靜態的,會發生什麼?
我想知道當對象變量(這裏是x)被聲明爲一個類的靜態變量(這裏是程序)時發生的具體情況。 –