6

オブジェクト リスト

上記のようList<object>に見えますが、に変換したいと思いList<string>ます。

どうすれば変換できますか?

6つのアイテムが必要List<string>です(11:00、13:45、....など)

4

6 に答える 6

3

これを試して

List<string> stringlist = objectList.Cast<string>()
                                    .ToList();

これらの要素が文字列であるかどうかわからない場合は、使用できますSelect

List<string> stringlist = objectList.Select(x=> x.ToString())
                                    .ToList();

NullReferenceExceptionnull 値の場合に回避するには、次のことを試してください

List<string> stringlist = objectList.Where(x=> x != null)
                                    .Select(x=> x.ToString())
                                    .ToList();
于 2013-10-17T20:04:28.010 に答える
2

LINQ を使用すると、これはかなり簡単です。それらがすべて文字列であると確信している場合は、簡単に実行できます

int i = //Some code that sets i, like a for loop
var oldList = seanceInfo.theatre[i].seances;
List<string> newList = oldList.Cast<string>().ToList();

すべてのオブジェクトが文字列であると確信できない場合は、何らかの変換を実行する必要がありますが、それは簡単です

List<string> newList = oldList.Select(o => Convert.ToString(o)).ToList();

あなたのコメントから:「セアンセはList<object>で、セアンセの最初のインデックスは ですobject[]。これらのアイテムが必要です。」、あなたが本当に欲しいのはSelectMany

List<string> info = seanceInfo.theatre.SelectMany(x => x.seances).Select(x => Convert.ToString(x)).ToList();

これにより、各シアターの各交霊会が取り込まれ、1 つのマスター リストに結合されます。

于 2013-10-17T20:05:02.797 に答える
-4

次のようなキャスト:

var list = (List<String>) listObjects.
于 2013-10-17T20:03:57.773 に答える