为了账号安全,请及时绑定邮箱和手机立即绑定

从 LIST<> 获取整数数组的值

从 LIST<> 获取整数数组的值

C#
qq_花开花谢_0 2022-06-19 16:34:42
谁能告诉我为什么消息框不显示随机数的值?我正在尝试获取 10 个随机数并在消息框中一次显示一个。数字可以重复,并且应该在 1 到 4 之间。public void GetRandomPattern()        {            List<int> pattern = new List<int>();            rounds = 10;            Random number = new Random();            for (int counter = 0; counter < rounds; counter++)            {                pattern.Add(number.Next(1, 4));                MessageBox.Show(pattern.ToString());            }        }
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

如果没有被覆盖,ToString()将显示对象类型的名称。在您的情况下,它将显示List<int>类型名称:


System.Collections.Generic.List`1[System.Int32]


如果要显示列表的内容,则应手动创建字符串。例如


 var formattedPattern = String.Join(", ", pattern); // "2, 1, 3, 2"

 MessageBox.Show(formattedPattern );

如果您想在每次迭代中显示单个列表项,您可以按照@MikeH 的建议通过索引引用它们,或者只使用一个临时变量


 var nextNumber = number.Next(1, 4);

 pattern.Add(nextNumber);

 MessageBox.Show(nextNumber.ToString());


查看完整回答
反对 回复 2022-06-19
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

pattern是一个List<int>。当你这样做.ToString()时,它是在整个对象上(即所有项目,而不仅仅是一个)。 List不提供显示项目的方法,因此它只返回类型。

要一次显示一个数字,您需要这样做:

pattern[counter].ToString()

这将选择列表中的特定项目,因为counter与列表的当前索引匹配。


查看完整回答
反对 回复 2022-06-19
?
隔江千里

TA贡献1906条经验 获得超10个赞

您正在尝试在消息框中显示列表对象。而是尝试下面的代码


 for (int counter = 0; counter < rounds; counter++)

            {

                var randNo = number.Next(1, 4);

                pattern.Add(randNo );

                MessageBox.Show(randNo);

            }


查看完整回答
反对 回复 2022-06-19
  • 3 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信