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



我尝试创建一个每日奖励系统。但我有一个问题。

首先是代码:

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));
                }

这是代码的更大部分。我不能添加我想要的那么多代码行,因为堆栈溢出告诉我它有很多代码。不好意思。感谢您的帮助

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

short[] itemIds = { 9023, 9041 };
int index = rnd.Next(0, itemIds.Length);
short here_is_the_value = itemIds[index];

相关内容

最新更新