Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用foreach循环C将数组内容写入文本框_C#_Arrays_Textbox_Foreach - Fatal编程技术网

C# 使用foreach循环C将数组内容写入文本框

C# 使用foreach循环C将数组内容写入文本框,c#,arrays,textbox,foreach,C#,Arrays,Textbox,Foreach,因此,我想知道如何使用C中的foreach循环将数组的全部内容写入文本框。我的代码目前如下所示: foreach (int myInt in iData) { txtListing.Text = myInt.ToString(); } 我生成一系列随机数,这些随机数存储在数组中: int[] iData; 现在,我想使用foreach循环将此数组中存储的数据写入文本框,如下所示: foreach (int

因此,我想知道如何使用C中的foreach循环将数组的全部内容写入文本框。我的代码目前如下所示:

        foreach (int myInt in iData)
        {
            txtListing.Text = myInt.ToString();
        }
我生成一系列随机数,这些随机数存储在数组中:

int[] iData;
现在,我想使用foreach循环将此数组中存储的数据写入文本框,如下所示:

        foreach (int myInt in iData)
        {
            txtListing.Text = myInt.ToString();
        }
这只会将数组中最后生成的数字写入文本框,但我的问题是如何将它们全部写入文本框


我只知道如何使用列表框和forLoop来实现这一点。但是,有没有办法用文本框和foreach循环来实现这一点呢?

您需要依次追加字符串

foreach (int myInt in iData)
        {
            txtListing.Text += myInt.ToString();
        }

您需要依次追加字符串

foreach (int myInt in iData)
        {
            txtListing.Text += myInt.ToString();
        }
尝试:

这应该将每个值附加到.Text属性,而不是覆盖它。

尝试:

这应该将每个值附加到.Text属性,而不是覆盖它。

尝试使用以下方法:

foreach (int myInt in iData)
{
    txtListing.AppendText(myInt.ToString());
}
另一个选项是将元素作为字符串连接在一起:

textListing.Text = string.Join(string.Empty, iData);
…或者如果需要另一个分隔符:

textListing.Text = string.Join(", ", iData);
请尝试使用以下方法:

foreach (int myInt in iData)
{
    txtListing.AppendText(myInt.ToString());
}
另一个选项是将元素作为字符串连接在一起:

textListing.Text = string.Join(string.Empty, iData);
…或者如果需要另一个分隔符:

textListing.Text = string.Join(", ", iData);

这是将每个项目的内容依次写入text属性,这将保留最后一个条目,因为没有进一步的更改

最好使用String.Join将所有值连接在一起,然后写入Text属性

i、 e

正如弗雷德里克指出的那样

String.Join(", ", iData);

更整洁。

这是将每个项目的内容依次写入文本属性,该属性保留最后一个条目,因为没有进一步的更改

最好使用String.Join将所有值连接在一起,然后写入Text属性

i、 e

正如弗雷德里克指出的那样

String.Join(", ", iData);

更整洁。

低技术方法:

        foreach (int myInt in iData)
        {
            txtListing.Text = txtListing.Text + "; " + myInt.ToString();
        }

低技术方法:

        foreach (int myInt in iData)
        {
            txtListing.Text = txtListing.Text + "; " + myInt.ToString();
        }
1套

2更改代码:

 txtListing.Text += myInt.ToString() + "\n";
1套

2更改代码:

 txtListing.Text += myInt.ToString() + "\n";

首先使用linq删除数组的空值:

Array = Array.where(x => !string.isNullOrEmpty(x)).ToArray();
转换为字符串:

String result = string.join("",Array);
写入文本框:

Textbox.text=result.tostring();

未使用foreach,但可能会解决您的问题

首先使用linq删除数组的空值:

Array = Array.where(x => !string.isNullOrEmpty(x)).ToArray();
转换为字符串:

String result = string.join("",Array);
写入文本框:

Textbox.text=result.tostring();

没有使用foreach,但可能会解决您的问题

@Massif:没错,有更好的方法可以做到这一点。不过,有时我发现自己在想这些问题,等下一天再说吧。也许我太愤世嫉俗了:@Massif:没错,有更好的方法来做这件事。不过,有时我发现自己在想这些问题,等下一天再说吧。也许我太愤世嫉俗了:string.Join接受对象[]并负责转换,调用LINQ方法对任务来说有点过分。string.Join接受对象[]并负责转换,调用LINQ方法对任务来说有点过分。因为.NET和Java字符串是不可变的,每次执行字符串连接时,都会创建一个新的字符串实例,将连接的字符串放入其中。在循环中,这意味着分配几十个临时字符串变量,然后垃圾收集器必须处理这些变量。请改用StringBuilder。因为.NET和Java字符串是不可变的,所以每次执行字符串连接时,都会创建一个新的字符串实例来将连接的字符串放入。在循环中,这意味着分配几十个临时字符串变量,然后垃圾收集器必须处理这些变量。改用StringBuilder。