将arraylist加载到TextBox中

时间:2012-04-04 08:48:56

标签: c# arrays arraylist

我还有另一个问题,我似乎无法在Google上找到任何内容。

此计划的作用
该程序显示来自RSS提要的信息。

问题
如何将Arraylist中的所有项目加载到TextBox?

我尝试过的事情
这就是我到目前为止所做的:

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#还是有点新鲜,抱歉我的英语我是荷兰语:&lt;。

5 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

似乎item是一个字符串数组,所以试着破坏它:

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

答案 2 :(得分:0)

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

的原因

将其更改为

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

它将加入List&lt;&gt;中的每个字符串[](即项目)并像

一样创建它

firstarrrayfirstitem,firstarrayseconditem

和文本框

firstarrrayfirstitem,firstarrayseconditem,secondarrayfirstitem,secondarrayseconditem ....等等。

答案 3 :(得分:0)

更好的方法是使用stringbuilder来提高性能并减少文本框调用的propertychanged事件;

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();

答案 4 :(得分:0)

更好的方式:

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