Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah LINQ Boleh Mencari Semua Jenis Terbitan bagi Jenis Asas Tertentu dengan Cekap?
Mencari Jenis Terbitan Jenis Tertentu
Dalam pengaturcaraan, selalunya perlu untuk menentukan semua jenis terbitan jenis asas tertentu. Secara tradisinya, ini telah dicapai melalui teknik yang susah payah seperti mengulangi semua jenis dalam perhimpunan yang dimuatkan dan menyemak secara manual untuk menentukan kebolehtugasan kepada jenis sasaran.
Walau bagaimanapun, penyelesaian yang lebih cekap dan elegan wujud menggunakan LINQ (Pertanyaan Bersepadu Bahasa) . Coretan kod berikut menyediakan cara yang mudah dan berprestasi untuk menyelesaikan tugas ini:
var listOfDerivedTypes = ( from domainAssembly in AppDomain.CurrentDomain.GetAssemblies() from type in domainAssembly.GetTypes() where typeof(BaseTypeName).IsAssignableFrom(type) select type).ToArray();
Sintaks Fasih Alternatif:
Ekspresi LINQ juga boleh ditulis dalam bentuk yang lebih gaya fasih untuk dipertingkatkan kebolehbacaan:
var listOfDerivedTypes = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(domainAssembly => domainAssembly.GetTypes()) .Where(type => typeof(BaseTypeName).IsAssignableFrom(type)) .ToArray();
Penyesuaian:
Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Mencari Semua Jenis Terbitan bagi Jenis Asas Tertentu dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!