LINQ は、指定された基本型のすべての派生型を効率的に検索するにはどうすればよいですか?
指定された型の派生型の検索
プログラミングでは、多くの場合、特定の基本型のすべての派生型を決定する必要があります。従来、これは、読み込まれたアセンブリ内のすべての型を反復処理したり、ターゲット型への割り当て可能性を手動でチェックしたりするなど、手間のかかる手法によって実現されてきました。
しかし、LINQ (言語統合クエリ) を使用した、より効率的で洗練されたソリューションが存在します。 。次のコード スニペットは、このタスクを達成する簡単で効率的な方法を提供します。
var listOfDerivedTypes = ( from domainAssembly in AppDomain.CurrentDomain.GetAssemblies() from type in domainAssembly.GetTypes() where typeof(BaseTypeName).IsAssignableFrom(type) select type).ToArray();
ログイン後にコピー
代替の流暢な構文:
LINQ 式は、より多くの形式で記述することもできます。流暢なスタイルで強化可読性:
var listOfDerivedTypes = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(domainAssembly => domainAssembly.GetTypes()) .Where(type => typeof(BaseTypeName).IsAssignableFrom(type)) .ToArray();
ログイン後にコピー
カスタマイズ:
- 公開された型のみ: 公開された型のみを取得するには、domainAssembly を使用します。代わりに .GetExportedTypes() DomainAssembly.GetTypes().
- 元の基本クラスを除外する: 元の基本タイプが結果に含まれないようにするには、Where 句に && type != typeof(BaseTypeName) を追加します。
- 抽象クラスを除外する: 抽象クラスを除外するには、&& を追加します! type.IsAbstract を where 句に追加します。
- ジェネリック型: ジェネリック型を処理するには、追加の考慮事項が必要です。詳細については、「詳細」セクションのリンクされたリソースを参照してください。
以上がLINQ は、指定された基本型のすべての派生型を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7315
9


Java チュートリアル
1625
14


CakePHP チュートリアル
1348
46


Laravel チュートリアル
1261
25


PHP チュートリアル
1208
29



C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか?
