ホームページ >バックエンド開発 >C++ >LINQ の Cast() と OfType(): それぞれをいつ使用する必要がありますか?

LINQ の Cast() と OfType(): それぞれをいつ使用する必要がありますか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-17 04:41:12825ブラウズ

Cast() vs. OfType() in LINQ: When Should I Use Each?

Linq での Cast() と OfType() の選択

LINQ の領域では、ArrayList から IEnumerable への型のキャストが可能です。これは、Cast() と OfType() の 2 つのメソッドで実現されます。さまざまなシナリオに適切なアプローチを選択するには、そのニュアンスを理解することが重要です。

Cast() は、ArrayList 内のすべての要素を指定された型であるかのようにキャストしようとします。正常にキャストできない要素があると、InvalidCastException 例外がスローされます。一方、

OfType() は、指定された型に安全にキャストできる要素のみを返します。キャストできない要素をスキップし、ArrayList を効果的にフィルタリングして、必要なタイプの要素のみを含めます。

各メソッドを使用する場合

  • 次の場合に Cast() を使用します。 できない要素を除外することを意味する場合でも、ArrayList 内のすべての要素に特定の型を強制したい。
  • 次の場合に OfType() を使用します。 元の ArrayList を保持し、指定された型に安全にキャストできる要素のみを操作したい場合。

具体的な例

次のことを考えてみましょうArrayList:

object[] objs = new object[] { "12345", 12 };
  • objs.Cast().ToArray(); 2 番目の要素を文字列にキャストできないため、InvalidCastException がスローされます。
  • objs.OfType().ToArray();最初の要素のみを文字列にキャストできるため、{ "12345" } が返されます。

以上がLINQ の Cast() と OfType(): それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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