C# Как отобразить этот массив в окне сообщений (консольное приложение)
Может ли кто-нибудь помочь мне использовать окно сообщения для отображения случайного числа и квадрата в двух столбцах с меткой для каждого?
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 ответа
Я добился этого, добавив ссылку на 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();
}
}
}
}
Мой вывод:
Кроме того, хотя это не запрашивается, но на всякий случай, чтобы добавить ссылку на System.Windows.Form, щелкните правой кнопкой мыши ссылки в обозревателе решений и выберите вкладку.Net, а затем нажмите кнопку ОК после выбора нужной библиотеки DLL. Ура!
Начните свой проект в:
Windows Forms Application -> C#
Ты можешь использовать MessageBox
чтобы помочь вам решить ваш дисплей.
Вы можете сделать это так.
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);