ArrayList
をLINQを使用してList<string>
に変換します。私はToList()
を試みたが、そのアプローチは機能していません。LINQを使用して 'ArrayList'を 'List <string>'(または 'List <T>')に変換します。
ArrayList resultsObjects = new ArrayList();
List<string> results = resultsObjects.ToList<string>();
ArrayList
をLINQを使用してList<string>
に変換します。私はToList()
を試みたが、そのアプローチは機能していません。LINQを使用して 'ArrayList'を 'List <string>'(または 'List <T>')に変換します。
ArrayList resultsObjects = new ArrayList();
List<string> results = resultsObjects.ToList<string>();
あなたのコードは実際がList<ArrayList>
ではなく、単一ArrayList
を示しています。あなたが本当にちょうど1 ArrayList
を持っている場合、あなたはおそらくしたいと思います:ArrayList
が弱い型指定されているので
ArrayList resultObjects = ...;
List<string> results = resultObjects.Cast<string>()
.ToList();
Cast
コールが必要とされる - それは唯一のIEnumerable
、ないIEnumerable<T>
実装します。 LINQ to ObjectsのほとんどのLINQ演算子はIEnumerable<T>
に基づいています。
これは、ArrayList
の値が実際に文字列であると仮定しています。そうでない場合は、各アイテムをどのように文字列に変換するかについて、より多くの情報を提供する必要があります。
あなたの最初の行はArrayList resultsObjects = new ArrayList();
であると仮定しました。
ArrayList
内のオブジェクトが特定の型である場合、あなたはCast<Type>
拡張メソッドを使用することができます:あなたはしたいArrayList
内の任意のオブジェクトがある場合
List<string> results = resultsObjects.Cast<string>().ToList();
をすることができます、文字列にを変換しますこれを使用する:
List<string> results = resultsObjects.Cast<object>().Select(x => x.ToString())
.ToList();
あなたはArrayList.ToArray()
メトを使用してobject[]
配列にArrayList
要素を変換することができますd。また、あなたはあなたのArrayList内のアイテムのいずれかが必要なタイプにキャスト可能でない場合は例外を発生するかどうかに応じて、LINQのOfType <>メソッドを使用することができます
List<ArrayList> resultsObjects = new List<ArrayList>();
resultsObjects.Add(new ArrayList() { 10, "BB", 20 });
resultsObjects.Add(new ArrayList() { "PP", "QQ" });
var list = (from arList in resultsObjects
from sr in arList.ToArray()
where sr is string
select sr.ToString()).ToList();
。 arrayListに文字列ではないオブジェクトがある場合、OfType()はそれらを無視します。
var oldSchoolArrayList = new ArrayList() { "Me", "You", 1.37m };
var strings = oldSchoolArrayList.OfType<string>().ToList();
foreach (var s in strings)
Console.WriteLine(s);
出力:[?.NETで、どのようにするforeachを使用せずに、強く型付けされたジェネリックリストへのArrayListを変換しない]
Me
You
の
可能な複製(http://stackoverflow.com/質問/ 786268/in-net-how-do-you-convert-an-arraylist-to-a-strong-typed-ジェネリックリスト - withou) –