C#2维数组输出到文本框

时间:2018-01-25 22:11:41

标签: c# arrays

尝试将简单的二维数组显示到文本框中。输出应如下所示:

学生宿舍
杰克数学牛津郎 Bender Chem Trent

以前的所有尝试都失败了,我不知道如何输出代码。

String[,] text = {
            { "Student", "Class", "House" },
            { "Jack", "Math", "Oxford" },
            { "Bender", "Chem", "Trent" } };

        //string textString;
        for (int i = 0; i < text.GetUpperBound(0); i++)
        {
            string first = text[i, 0];
            string middle = text[i, 1];
            string last = text[i, 2];

            TextBox1.Text = first;
            TextBox1.Text = middle;
            TextBox1.Text = last;


        }

3 个答案:

答案 0 :(得分:0)

您需要将文本连接到字符串上,并在完成所有操作后将字符串传递给texbox一次。您希望添加换行符以使数据也经过多行。

像这样(未经测试):

String[,] text = {
        { "Student", "Class", "House" },
        { "Jack", "Math", "Oxford" },
        { "Bender", "Chem", "Trent" } };

    string output = '';

    //string textString;
    for (int i = 0; i < text.GetUpperBound(0); i++)
    {
        output += text[i, 0] + text[i, 1] + text[i, 2] + Environment.NewLine;
    }

    TextBox1.Text = output;

目前,您只是在文本框中添加内容,然后在下一个循环中覆盖它们。

答案 1 :(得分:0)

所以我认为您使用文本框尝试textarea的问题。 原因是文本框只采用行,但文本可以有多行,并且每次通过执行此TextBox1.Text = first覆盖文本框的文本;                 TextBox1.Text = middle;                 TextBox1.Text = last; 所以试试这个更好 TextBox1.Text + = first +“”+ middle +“”+ last;

答案 2 :(得分:0)

如果两个维度都是动态的,您可以使用第二个循环嵌套在您拥有的维度中。每个循环都将通过一个维度:

for (int i = 0; i < text.GetLength(0); i++)
{
    for (int j = 0; j < text.GetLength(1); j++)
    {
        TextBox1Text += text[i, j] + "\t";
    }

    TextBox1.Text += "\r\n";
}

注意:我使用了标签\t来分隔列和新行\r\n以分隔行。但是,此格式在textbox中不可见,您需要使用textarea。这是demo