Random.Next C#并不像我想的那样工作

时间:2018-04-10 23:42:11

标签: c# random

我尝试创建每日奖励系统。但是我遇到了一个问题。

首先是代码:

Random rndDailyItem = new Random();
short[] itemIds = { 9023, 9041 };
rndDailyItem.Next(0, itemIds.Length);

所以,问题是:我想把“itemIds”作为输出,但我现在得到的输出只是0或1,我错了什么?

代码的“其余”是:

编辑:

                if (rndDailyItem != null)
                {

                    session.Character.DailyBonus = DateTime.Now.AddDays(1);

                    session.Character.SendGift(session.Character.CharacterId, Convert.ToInt16(rndDailyItem.Next(0, itemIds.Length)), Convert.ToByte(rndDailyAmount.Next(0, itemAmount.Length)),
                        0, 0, false);
                    session.SendPacket(
                        session.Character.GenerateSay(Language.Instance.GetMessageFromKey("DAILY_RECEIVED"), 10));
                }
                else
                {
                    session.SendPacket(
                        UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("ERROR_MESSAGE"),
                            0));
                }

这是代码的更大部分。我不能添加我想要的那么多代码行,因为stackoverflow告诉我它的代码很多。抱歉。谢谢你的帮助

1 个答案:

答案 0 :(得分:3)

当然,您需要使用随机索引来访问您想要的项目。

{{1}}