c#如何在消息框中显示此数组(控制台应用程序)

时间:2015-03-28 04:03:56

标签: c# arrays messagebox

任何人都可以帮我使用消息框在两列中显示随机数和方块,每个列都有一个标签吗?

    const int NUM_ROWS = 10;
    const int NUM_COLS = 2;

        int[,] randint = new int [NUM_ROWS,NUM_COLS];
        Random randNum = new Random();

        for (int row = 0; row < randint.GetLength(0); row++)
        {
            randint[row,0] = randNum.Next(1,100);
            randint[row,1] = randint[row,0]*randint[row,0];

        Console.Write(string.Format("{0,5:d} {1,5:d}\n", randint[row,0], randint[row,1]));

3 个答案:

答案 0 :(得分:3)

我通过将System.Windows.Forms的引用添加到我的控制台应用程序并获得所需的结果来实现它。这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            const int NUM_ROWS = 10;
            const int NUM_COLS = 2;

            int[,] randint = new int[NUM_ROWS, NUM_COLS];
            Random randNum = new Random();

            for (int row = 0; row < randint.GetLength(0); row++)
            {
                randint[row, 0] = randNum.Next(1, 100);
                randint[row, 1] = randint[row, 0] * randint[row, 0];

                Console.Write(string.Format("{0,5:d} {1,5:d}\n", randint[row, 0], randint[row, 1]));

                MessageBox.Show(string.Format("{0,5:d} {1,5:d}\n", randint[row, 0], randint[row, 1]));
                Console.ReadKey();
            }
        }
    }
}  

我的输出:
Output 此外,虽然没有询问,但只是为了添加对System.Windows.Form的引用,请右键单击解决方案资源管理器中的引用,然后选择.Net选项卡,然后在选择所需的dll后按确定。干杯!

Adding ref Selecting desired reference

答案 1 :(得分:1)

你可以这样做。

MessageBox.Show(string.Format("{0,5:d} {1,5:d}\n", randint[row, 0], randint[row, 1]), "Message Box",
                                     MessageBoxButtons.YesNo,
                                     MessageBoxIcon.Question);

如果将此行放在for循环内,则每次迭代都会显示一个消息框。如果每次单击“是”,将显示带有旧值和新值的新消息框。

如果你想显示整个数组,那就是这样的。

string data = "";

for (int row = 0; row < randint.GetLength(0); row++)
{
     randint[row, 0] = randNum.Next(1, 100);
     randint[row, 1] = randint[row, 0] * randint[row, 0];
     data += string.Format("{0,5:d} {1,5:d}\n", randint[row, 0], randint[row, 1]);
}

MessageBox.Show(data, "Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

答案 2 :(得分:1)

开始你的项目:

Windows Forms Application -> C#

您可以使用MessageBox来帮助您解决显示内容。