Delphi 2007 で作成されたアプリケーションを Delphi Prism に移行していますが、TList クラスを置き換えるのに最適なオプションはどれですか?
前もって感謝します。
さよなら。
Delphi 2007 で作成されたアプリケーションを Delphi Prism に移行していますが、TList クラスを置き換えるのに最適なオプションはどれですか?
前もって感謝します。
さよなら。
プレーンな TList を意味するのか、D2009 でジェネリックで導入されたジェネリック TList を意味するのかは指定しませんが、プレーンな TList だと感じています。
ジェネリックを使用する場合は、List<T>を使用します。つまり、リストから何かを取り出すたびに手動で型キャストを行う必要はありません。一般に、特に理由がない限り、これを使用することをお勧めします。Delphi アプリケーションですでに TList を使用している場合も、これを使用する必要があります。メモリが機能する場合、CodeGear は、D2009 でジェネリックを追加するときに、意図的に .NET List からインターフェイスを適合させます。
オブジェクトを格納するだけの非ジェネリック バージョン (TList によく似ています) が必要な場合は、ArrayListを参照してください。これは現在の実装により近くマップされますが (単純な TList を想定)、ジェネリックを使用することで得られるコンパイル時の型の安全性が失われます。