我已閱讀的Java和C++/C#之間的主要區別的地方之一就是Java的做一些事情,在運行時和C#確實在編譯時的東西。這是真的?如果是的話,你能解釋一下這一點嗎?編譯時與運行時,Java和C#
在C#,我創建了一個函數,它接受在兩個輸入,並返回一個隨機數(稱爲RandomNumber(int x, int y)
),使用隨機的Object。然後我在另一個函數中調用這個函數兩次,期望得到兩個不同的值(兩個不同的隨機數)。但是,我始終得到相同的值,這讓我感到困惑,因爲我可以在Java中做同樣的事情,並期望得到不同的數字。
於是我決定,要刪除我的功能 - RandomNumber(INT X,int y)對,並調用隨機我的其他函數中,出現如下圖所示。
Random random = new Random();
int randomNum;
int la;
randomNum = random.Next(1, 10);
numOne.Text = randomNum.ToString();
la = random.Next(1, 10);
這產生兩個不同的隨機數。爲什麼會這樣?
http://stackoverflow.com/a/768001/284240將隨機實例傳遞給方法,因爲它調用得太快。 – 2012-03-28 17:36:54
你問過兩個完全不同的問題。他們應該在兩個單獨的職位 - 或者,理想情況下,您將搜索並找到每個部分的各種重複問題的答案。 – 2012-03-28 17:37:10
C++和C#是非常不同的語言,編譯時/運行時行爲有很大不同。 – 2012-03-28 17:37:35