【问题标题】:Load arraylist into a TextBox将数组列表加载到文本框中
【发布时间】:2012-04-04 08:48:56
【问题描述】:

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

这个程序的作用
该程序显示来自 RSS 提要的信息。

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

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

List<Array> list1 = new List<Array>();

foreach (var item in list1)
        {
            textBox1.AppendText(item.ToString());
        }

问题
当我这样做时,文本框会显示:

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# 还是有点陌生​​,对不起我的英语我是荷兰人:<.>

【问题讨论】:

  • 哦,是的,对不起,这就是我定义列表的方式: List list1 = new List();
  • 好像项目类型是字符串[],所以你可以做的是string.Join(',', item)

标签: c# arrays arraylist


【解决方案1】:

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

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

【讨论】:

  • 为了什么 .SelectMany(i => i) ?
  • @Manitra Andriamitondra 这似乎工作得很好:)!谢谢!编辑:我还不能接受答案,需要再等7分钟):。
  • SelectMany() 将 list of list 转换为平面 list
  • 必须有类似 Concat 或 All 的东西。 (我不太确定,但我想是的)
【解决方案2】:

看来item是一个字符串数组,所以尝试内爆:

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

【讨论】:

    【解决方案3】:

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

    改成

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

    它将加入您在 List 中的每个字符串 [](即项目)并像这样创建它

    firstarrayfirstitem,firstarrayseconditem

    和文本框作为

    firstarrayfirstitem、firstarrayseconditem、secondarrayfirstitem、secondarrayseconditem....等等。

    【讨论】:

      【解决方案4】:

      更好的方法是使用 stringbuider 以获得更好的性能并减少文本框调用的 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();
      

      【讨论】:

        【解决方案5】:

        更好的方法:

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

        【讨论】:

          猜你喜欢
          • 2012-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-06
          • 1970-01-01
          • 2023-03-30
          相关资源
          最近更新 更多