Rumah > Artikel > pembangunan bahagian belakang > C# Dinamik
Untuk mengelakkan pemeriksaan semasa masa penyusunan, jenis baharu telah diperkenalkan dengan keluaran C# 4.0 yang dipanggil jenis dinamik. Pada asasnya, jenis ditetapkan berdasarkan nilai ungkapan oleh pengkompil manakala jenis dinamik ini tidak menjalani pemeriksaan jenis semasa masa penyusunan, iaitu ia terlepas daripada pemeriksaan jenis semasa masa penyusunan sebaliknya jenis diselesaikan semasa masa berjalan dan kata kunci dinamik digunakan untuk menentukan jenis dinamik dan jenis dinamik disusun menjadi jenis objek oleh pengkompil dan jenis dinamik sebenar diselesaikan semasa masa jalan.
Syntax:
dynamic variable_name;
Pertimbangkan contoh di bawah untuk menerangkan penggunaan jenis Dinamik dalam program C#:
using System; //a class called program is defined class program { //main method is called static public void Main() { // Dynamic variables are declared dynamic val1 = 1234; dynamic val2 = 1234.40; dynamic val3 = false; dynamic val4 = "Hello"; //GetType() method is used to obtain the actual type of the dynamic variables used earlier Console.WriteLine("The actual type of val1 is: {0}", val1.GetType().ToString()); Console.WriteLine("The actual type of val2 is: {0}", val2.GetType().ToString()); Console.WriteLine("The actual type of val3 is: {0}", val3.GetType().ToString()); Console.WriteLine("The actual type of val4 is: {0}", val4.GetType().ToString()); } }
Output:
Dalam atur cara di atas, atur cara ialah kelas yang ditakrifkan. Kemudian kaedah utama dipanggil. Kemudian pembolehubah dinamik diisytiharkan yang jenis sebenar tidak diketahui. Kemudian kaedah GetType() digunakan untuk mendapatkan jenis sebenar pembolehubah dinamik yang digunakan sebelum ini. Output program adalah seperti yang ditunjukkan dalam syot kilat di atas.
Berikut ialah contoh berikut yang disebut di bawah:
Program C# untuk menunjukkan penggunaan parameter jenis dinamik yang boleh dihantar kepada kaedah
Kod:
using System; //a class called program is defined class program { // a method called add is defined to which dynamic type variables are passed as parameters public static void add(dynamic r1, dynamic r2) { Console.WriteLine(r1 + r2); } // Main method is called static public void Main() { //add method is called to add whatever is passed as parameters to the method since the method accepts dynamic type variables add("H", "I"); add("Welcome to", " dynamic type"); add(20, 20); add(20.5, 1.5); add(100, "fun"); } }
Output:
Dalam atur cara di atas, atur cara ialah kelas yang ditakrifkan. Kemudian kaedah yang dipanggil tambah ditakrifkan kepada pembolehubah jenis dinamik yang diluluskan sebagai parameter yang jenis sebenar tidak diketahui. Kemudian kaedah utama dipanggil. Kemudian kaedah tambah dipanggil untuk menambah apa sahaja yang diluluskan sebagai parameter kepada kaedah kerana kaedah menerima pembolehubah jenis dinamik Output program adalah seperti yang ditunjukkan dalam petikan di atas.
Program C# untuk menunjukkan penggunaan parameter jenis dinamik yang boleh dihantar kepada kaedah:
Kod:
using System; //a namespace called example is defined namespace example { //a class called program is defined class Program { //main method is called static void Main(string[] args) { //different types of values are passed as a parameter to GetDetails method GetDet("Learning is fun and welcome to learning dynamic type in C#"); GetDet(false); GetDet(100.22); GetDet(20); Console.ReadLine(); } //a method called getdetails is defined to which dynamic type variable is passed as a parameter so it accepts any type of parameter static void GetDet(dynamic r) { Console.WriteLine(r); } } }
Output:
Dalam program di atas, ruang nama yang dipanggil contoh ditakrifkan. Kemudian program adalah kelas yang ditakrifkan. Kemudian kaedah utama dipanggil. Kemudian kaedah GetDet dipanggil yang ditakrifkan kemudian, yang mana pembolehubah jenis dinamik dihantar sebagai parameter yang jenis sebenar tidak diketahui. Kemudian kaedah GetDet ditakrifkan kepada pembolehubah jenis dinamik yang diluluskan sebagai parameter supaya ia menerima sebarang jenis parameter. Output program adalah seperti yang ditunjukkan dalam syot kilat di atas.
Terdapat beberapa kelebihan menggunakan jenis dinamik. Mereka ialah:
Dalam tutorial ini, kami memahami konsep jenis Dinamik dalam C# melalui definisi, sintaks jenis Dinamik dalam C#, kerja jenis Dinamik dalam C# melalui contoh pengaturcaraan dan outputnya, dan kelebihan menggunakan jenis dinamik dalam C#.
Atas ialah kandungan terperinci C# Dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!