-4

ここの初心者

ここにこのコード行があります

lblDepart.Text = t.DepartureCities;

そしてそれは戻ってきます

System.Collections.ArrayList

これは ArrayList だと思います....どうすれば正しく表示できますか?

4

3 に答える 3

3

AnArrayListは要素のコレクションです。この値をユーザーに表示するには、すべての要素を 1 つのstring値に結合する必要があります。これを行うにはさまざまな方法がありますが、最も簡単なのはコンマを使用することです

ArrayList list = t.DepartureCities;
StringBuilder builder = new StringBuilder();
for (int i = 0; i < list.Count; i++) {

  if (builder.Length > 0) {
    builder.Append(", ");
  }
  object current = list[i];
  builder.Append(current);
}
lblDeparture.Text = builder.ToString();

ArrayList一般に、.Net では廃止された型と見なされていることに注意してください。コントロールする場合は、代わり DepartureCitiesに使用する必要があります。List<T>

その理由は強いタイピングです。ArrayListコレクションに格納している要素のタイプがわかりません: ,stringなどCity...List<T>含まれている要素を直接記述するため、それは自明です: List<string>, List<City>, など ...

于 2013-04-01T19:06:36.140 に答える
1
lblDepart.Text = String.Join(",", t.DepartureCities.OfType<YourType>());

それに応じて変更YourTypeします。たぶんCity

于 2013-04-01T19:07:59.640 に答える
0

電話すれば

lblDepart.Text = t.DepartureCities;

次に、これは暗黙的に呼び出します

lblDepart.Text = t.DepartureCities.ToString();

これらのToString()組み込み型の - メソッドは通常、オブジェクトの名前を返します。オブジェクトは、Collection複数の個別のオブジェクトを含む オブジェクトです。個々のアイテムにアクセスする場合は、

foreach(var item in t.DepartureCities){
//use item in here
}
于 2013-04-01T19:06:46.297 に答える