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不知道以太?;-)你希望标签的内容是什么?@visualincentrnd。Next(1+100)
是完美的语法,只给出maxValue
的参数是完全可能的,尽管你可能会认为它更像rnd。Next(101)
你的代码效率非常低。那个while
循环可能会重复上千次,只是为了用100个唯一的随机数填充列表。非常感谢您的回答!什么?我的心都快炸开了。。。这怎么行?这应该没有什么区别…我必须用他的代码测试一下。。。有些地方不对劲。我认为您是对的@VisualIncent它根本没有任何区别。OP还需要洗牌数组(或列表),而不是尝试用随机数填充列表。