2011-05-31 48 views
2

我想用圖片替換隨機數。例如,如果隨機數是1顯示圖片black.jpg:如何用圖片替換asp.net/c中的隨機數字?

Cache[diceKey] = r.Next(1, 5); // random (1-4) 

if (r.Next(1, 2) == 1) 
    image.BackImageUrl = "Images/black.png"; 

有沒有任何解決方案,我可以顯示我的圖片,如果隨機數爲1?

+1

什麼是你的代碼的問題?除了'r.Next(1,2)'總會返回1 ... – 2011-05-31 10:19:32

+0

我唯一的問題,我想在隨機數顯示「1」時顯示black.png。這是否正確? if(r.Next(1,2)== 1)? – 2011-05-31 10:53:50

回答

2

正如我已經在我的評論r.Next(1, 2)總是返回1,所以你將永遠顯示,黑色圖像...

我想你應該改變你的代碼如下:

var randomValue = r.Next(1, 5); // random (1-4) 
Cache[diceKey] = randomValue; 

if (randomValue == 1) 
    image.BackImageUrl = "Images/black.png"; 
else 
    image.BackImageUrl = ""; 
+0

它給了我一個錯誤:運算符'=='不能應用於'object'和int類型的操作數。緩存[diceKey]是一種對象類型 – 2011-05-31 11:03:59

+0

@sam:請參閱更新以回答。 – 2011-05-31 11:05:04

+0

非常感謝你解決了這個問題wooooooooow,太棒了 – 2011-05-31 11:10:36

6

將您的圖片網址存儲在數組中。隨機生成一個索引來訪問圖像:

string[] imageUrls = new [] { "foo.png", "bar.png", "foobar.png" }; 
// ... 
Random r = new Random(); 
image.BackImageUrl = imageUrls[r.Next(imageUrls.Length)]; 

更新(仍然沒有得到這個問題,雖然)

只設置一定的形象,如果產生的隨機數爲1:

int i = r.Next(1, 5); // random (1-4) 

Cache[diceKey] = i; 

if (i == 1) 
{ 
    image.BackImageUrl = "Images/black.png"; 
} 
+0

謝謝你的回答,但我需要顯示我的圖片時,隨機數是1否則不顯示它。這是正確的:if(r.Next(1,2)== 1) – 2011-05-31 10:43:02