【发布时间】:2016-11-26 19:36:18
【问题描述】:
我有一个列表框,用户在其中生成了一个随机数列表,我试图将列表框中的第一个值输出到标签文本。但是,似乎只是在输出一个随机数。
while (lstHoldValue.Items.Count < MAX_ITEMS)
{
int value = rnd.Next(1 + 100);//ranges from 0 - 100
if (!lstHoldValue.Items.Contains(value))
lstHoldValue.Items.Add(value);
}
int d = (Convert.ToInt32(lstHoldValue.Items[0]));
label11.Text = d.ToString();
【问题讨论】:
-
您正在显示第一个项目,但是第一个项目是一个介于 1 和 100 之间的随机整数,因为您正在为每个项目生成一个新值。顺便说一句,使用
Next方法的正确方法是:rnd.Next(1, 101)。 -
mynamea sas 不知道以太? ;-)
-
你希望标签的内容是什么?
-
@VisualVincent
rnd.Next(1 + 100)是完美的语法,完全有可能/很好只给出maxValue的参数,尽管您可能会更多地看到它为rnd.Next(101) -
您的代码效率极低。
while循环可能会重复数千次,只是为了用 100 个唯一的随机数填充列表。