【Unity連載】ArrayListをListに変換しよう!



はじめに

前回の記事では、ArrayListとLsitそれぞれの特徴をを比べ、用途に応じて使い分けることができるという話をしました。しかし、ArrayListを作成したはいいけれどやっぱりListで作った方がよかったな。。。となった場合はどうしましょう?今回の記事ではそんな悩みにお答えすべく、ArrayListをListに変換する方法をご紹介します。


ArrayListをListに変換する

それでは早速ArrayListをListに変換してみましょう。
ArrayListをListに送るメソッドとしてToList()メソッドを使います。しかしToListはあくまでもArrayListのデータをListに送るだけで、変換を行うわけではありません。変換を行う際の重要なポイントとしてArrayListとListの相違点に着目する必要があります。これら2つの相違点とは何だったか。。。それはズバリ!型にうるさいか否かでした!ArrayListは型は気にせず好きなデータを放り込んでよかったのに対し、Listは型に厳しく、指定した1つの型しか入れることができませんでした。つまり、ArrayListのデータをListに送る際に、同時に型の変換を行わないといけないということです。型の変換を行うメソッドとして、Cast<>()メソッドがあります。つまり、ToListとCastを組み合わせることでArrayListをListに変換することができるのです。
実際に変換を行っている例は以下の通りです。

//ArrayList「arrayList」の定義
ArrayList arrayList = new ArrayList { 1, 2, 3 };
//ArrayListをListに変換してかつListに送っている
List< int > list = arrayList.Cast< int >().ToList();

おわりに

いかがでしょうか?ArrayListを作成したけれども、後からListにすればよかったと後悔していた方、お悩みを解決することはできましたでしょうか?次回は今回の反対で、ListをArrayListに変換する方法をご紹介します。乞うご期待!

  • このエントリーをはてなブックマークに追加

PAGE TOP