ホームページ >バックエンド開発 >C++ >C# である型のリストを別の型に効率的にキャストするにはどうすればよいですか?

C# である型のリストを別の型に効率的にキャストするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-04 22:20:42526ブラウズ

How Can I Efficiently Cast a List of One Type to Another in C#?

リストのより簡潔なキャスト

C# では、項目のリストをある型から別の型にキャストするには、個々の項目を明示的にキャストします。 。このプロセスには時間がかかり、コードが乱雑になる可能性があります。リスト全体を一度にキャストすることで、このプロセスを効率化する方法はありますか?

元の提案では、直接キャストを使用することを提案しています。

ListOfY = (List<Y>)ListOfX;

これは論理的であるように思えるかもしれませんが、これは不可能です。現状の C#。ただし、より簡潔で効率的な解決策があります。

List<Y> listOfY = listOfX.Cast<Y>().ToList();

このメソッドは Cast を利用します。拡張メソッドを使用して、リスト内の各項目をターゲット型 Y に変換します。次に、結果の IEnumerable に対して ToList() メソッドが呼び出されます。新しいリストを作成するには変換された項目が含まれます。

重要な注意事項:

  • System.Linq を使用して含めます。キャスト
  • このメソッドは、リスト自体ではなく、個々の項目をキャストします。
  • カスタム変換演算子はサポートされません。
  • ソース オブジェクトに明示的な演算子メソッド (フレームワーク 4.0) の場合、この方法は機能しません。

以上がC# である型のリストを別の型に効率的にキャストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。