将arraylist加载到TextBox中

本文关键字:TextBox 加载 arraylist | 更新日期: 2023-09-27 18:29:53

我还有一个问题,在谷歌上似乎找不到任何东西。

此程序的作用
此程序显示RSS源中的信息。

问题
如何将所有项目从数组列表加载到文本框?

我尝试过的东西
这就是我目前所拥有的:

List<Array> list1 = new List<Array>();
foreach (var item in list1)
        {
            textBox1.AppendText(item.ToString());
        }

问题
当我这样做时,TextBox显示如下:

System.String[]System.String[]

代替:

CraftBukkit的推荐版本:1.2.4-R1.0(版本2126)http://dl.bukkit.org/downloads/craftbukkit/view/00993_1.2.4-R1.0/

有人知道这个数组是怎么工作的吗
我需要循环遍历数组并搜索特定索引吗?

抱歉,但我对C#还是有点陌生,很抱歉我的英语是荷兰语:<。

将arraylist加载到TextBox中

看起来ArrayList包含字符串数组而不是字符串。所以试试这个:

foreach (var item in list1.OfType<string[]>().SelectMany(i => i))
{
    textBox1.AppendText(item);
}

似乎item是一个字符串数组,所以尝试将其内爆:

foreach (var item in list1)
{
    textBox1.AppendText(string.Join("", item));
}

您的代码基本上是一个数组列表。这就是为什么它显示system.string[]

将其更改为

foreach (var item in list1)
{
    textBox1.AppendText(string.Join("", item));
}

它将加入List<>中的每个字符串[](即项)并像一样创建

第一次检查第一个项目,第一次检查条件

和文本框作为

第一个数组第一个项目,第一个数组条件,第二个数组第一项,第二数组条件。。。。等等。

更好的方法是使用字符串向导,以获得更好的性能并减少文本框调用的属性更改事件;

System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (var item in list1.OfType<string[]>().SelectMany(i => i))
{
    sb.Append(item);
}
textBox1.Text = sb.ToString();

更好的方法:

textBox1.Text = string.Join("", list1.OfType<string[]>().SelectMany(i => i));