![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 阿忠 ![]()
![]() |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓
作者回應
阿忠 ![]() |
另外發現 Enumerable.Range(1, 10000).ToList().ForEach(x => {Console.WriteLine("第{0}次選擇{1}", x, 抽獎(轉盤).名稱);}); 若改成一萬筆,Console只能顯示9000筆...是本身的限制嗎? 顯示1001-10000
若改成 Enumerable.Range(1, 9000) 顯示 1-9000筆
本篇文章回覆於2018-07-18 21:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
那是linq語法
本篇文章回覆於2018-07-18 22:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
最有價值解答
春天 ![]() |
1. 可以用Dictionary<獎品, 次數>記錄獎品後再打印出來
2. x應該 跟for(int i = 0 ...) 這裡面的i一樣意思(不確定,沒用過List.Foreach) 3. Rnd.Next(轉盤.Count()) 隨機一個0到轉盤數量範圍內的數字,再用這個數字當成Index去查詢List<轉盤> 取得Item也就是獎品 4. 傳回0~99中隨機的一個整數 (這邊的隨機有點問題,可自行上網查詢Random.Next的問題) 5. "隨機選擇一個產品"的Type是Class 獎品,這邊用"骰子"跟獎品.機率百分比來判斷有沒有中獎 6. 回傳所有判斷中獎的獎品中的第一個"獎品" (而且Function不是也載明了回傳物件類型了?) "個人"覺的這段程式有些缺點,像List.Foreach跟用For去跑方法一樣意思,但Foreach卻讓次數給抽獎方法去控制 還有中文不曉得是原始碼如此還是樓主改的,這也很不建議
本篇文章回覆於2018-07-19 09:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
阿忠 ![]() |
我也覺得中文不太好但原文是這樣 https://bbs.csdn.net/topics/360066331
目前只是想先了解...對於第五點..骰子=Rnd.Next(0, 100)隨機產生0-99 例如獎品1 機率是0.5 什麼時候才有可能成立" 骰子 < 隨機選擇一個產品.機率百分比"?
本篇文章回覆於2018-07-19 10:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓 |
這應該是Bug所在,看起來似乎永遠不會成立
本篇文章回覆於2018-07-19 11:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |