0

文字列形式の汎用コレクションがあるとしましょう。ラベルに値を追加したいのですが、ここで読んだいくつかのことを試してみましたが、うまくいかないようです。

List<string> listcollection= new List<string>();

....Populate Collection Here....

MsgLabel.Text = Controls[string.Format(("MyInts: {0}", listcollection[1].Text));

どんな助けでも素晴らしいでしょう。

ありがとう。

4

3 に答える 3

4

あなたの質問を理解するには、いくつかの方法があります。

  • 例に示すように、2 番目の値を抽出してラベルに配置します。
  • すべての値をリストに結合したい (MyInts は複数形)

2番目の値を抽出

MsgLabel.Text = string.Format("MyInts: {0}", listcollection[1]);

それらを組み合わせるには

おそらく探しているのはstring.Join.

これは、投稿した例で機能します。

MsgLabel.Text = string.Format("MyInts: {0}", string.Join(", ", listcollection));

そのコードには .NET 4.0 が必要です。それ以外string.Joinの場合は配列が必要です。したがって、4.0 を使用していない場合は、次のコードが必要になります。

MsgLabel.Text = string.Format("MyInts: {0}", string.Join(", ", listcollection.ToArray()));
于 2011-02-03T23:51:19.657 に答える
0

文字列の汎用コレクションを作成している場合は、"Text" プロパティ collection[idx].Text を呼び出さないでください。コレクションから特定の要素を結合または抽出するだけです。

于 2011-02-03T23:54:04.600 に答える
0

すべての文字列を結合したい場合 (そして、それをしたいように思えます)、次のようにすることができます:

List<string> listcollection = new List<string>();
string myText = string.Empty;
for (int i = 0; i < listcollection.Count; i++) {
   myText += ("string no. " + (i - 1).ToString() + ": " + listcollection[i] + Environment.NewLine);
}
MsgLabel.Text = myText;

または、分割したい場合は,代わりに使用しますEnvironment.NewLine,

編集:より迅速な解決策については、Lasse V. Karlsen のコメントを参照してください。ヒントをありがとう!

于 2011-02-03T23:55:42.880 に答える