C# 如何从列表框中获取第一个值

C# 如何从列表框中获取第一个值,c#,winforms,listbox,C#,Winforms,Listbox,我有一个列表框,用户在其中生成了一个随机数列表,我试图将列表框中的第一个值输出到标签文本。然而,它似乎只是输出一个随机数 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);

我有一个列表框,用户在其中生成了一个随机数列表,我试图将列表框中的第一个值输出到标签文本。然而,它似乎只是输出一个随机数

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(); 
while(lstHoldValue.Items.Count
您需要先将项转换为字符串。您的代码应该如下所示:

int d = (Convert.ToInt32(lstHoldValue.Items[0].ToString()));
label11.Text = d.ToString(); 
编辑:

我认为文森特是对的。我在这里犯了一个错误:)。你的代码应该没有这个功能。ToString方法不是必需的

int d = (Convert.ToInt32(lstHoldValue.Items[0]));
Text = d.ToString();

您正在显示第一项,但是第一项是一个介于1和100之间的随机整数,因为您正在为每个项生成一个新值。顺便说一下,使用
Next
方法的正确方法是:
rnd.Next(1101)
。mynamea sas不知道以太?;-)你希望标签的内容是什么?@visualincent
rnd。Next(1+100)
是完美的语法,只给出
maxValue
的参数是完全可能的,尽管你可能会认为它更像
rnd。Next(101)
你的代码效率非常低。那个
while
循环可能会重复上千次,只是为了用100个唯一的随机数填充列表。非常感谢您的回答!什么?我的心都快炸开了。。。这怎么行?这应该没有什么区别…我必须用他的代码测试一下。。。有些地方不对劲。我认为您是对的@VisualIncent它根本没有任何区别。OP还需要洗牌数组(或列表),而不是尝试用随机数填充列表。