0

別の質問がありますが、Google で何も見つからないようです。

このプログラム
の動作 このプログラムは、RSS フィードからの情報を表示します。

質問
Arraylist から TextBox にすべてのアイテムをロードするにはどうすればよいですか?

私が試し
たことこれは私がこれまでに持っているものです:

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

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

問題
これを行うと、TextBox に次のように表示されます。

システム.文字列[]システム.文字列[]

それ以外の:

CraftBukkit の推奨ビルド: 1.2.4-R1.0 (ビルド 2126) http://dl.bukkit.org/downloads/craftbukkit/view/00993_1.2.4-R1.0/

この配列の仕組みを知っている人はいますか?
配列をループして特定のインデックスを検索する必要がありますか?

申し訳ありませんが、私はまだ C# には少し慣れていません。

4

5 に答える 5

2

ArrayListに文字列ではなく文字列の配列が含まれているようです。だからこれを試してみてください:

foreach (var item in list1.OfType<string[]>().SelectMany(i => i))
{
    textBox1.AppendText(item);
}
于 2012-04-04T08:53:26.663 に答える
0

文字列配列のようですitemので、内破してみてください。

foreach (var item in list1)
{
    textBox1.AppendText(string.Join("", item));
}
于 2012-04-04T08:52:44.307 に答える
0

あなたのコードは基本的に配列のリストです。そのため、system.string[]が表示されています。

に変更します

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

List <>の各文字列[](つまりアイテム)を結合し、次のように作成します

firstarrrayfirstitem、firstarrayseconditem

およびテキストボックスとして

firstarrrayfirstitem、firstarrayseconditem、secondarrayfirstitem、secondarrayseconditem....など。

于 2012-04-04T08:55:53.343 に答える
0

より良い方法は、パフォーマンスを向上させ、テキストボックスによって呼び出される propertychanged イベントを削減するために stringbuider を使用することです。

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();
于 2012-04-04T09:15:38.013 に答える
0

より良い方法:

textBox1.Text = string.Join("", list1.OfType<string[]>().SelectMany(i => i));
于 2012-04-04T13:18:25.097 に答える