Computer >> Máy Tính >  >> Lập trình >> C#

Điều gì sẽ xảy ra nếu chúng ta không chắc chắn về loại giá trị mà chúng ta muốn lưu trữ trong một biến. Làm thế nào để xử lý điều này trong C #?


Vì C # là một ngôn ngữ được đánh máy mạnh nên mọi biến và hằng đều có kiểu được xác định trước. Trước khi sử dụng bất kỳ biến nào, chúng ta phải cho trình biên dịch biết loại giá trị mà một biến sẽ lưu trữ.

Nếu chúng tôi không chắc chắn về loại, thì nó được xử lý bằng cách sử dụng lập trình động. Lập trình động được hỗ trợ bởi động từ khóa.

Từ khóa động được sử dụng để khai báo các kiểu động. Các kiểu động cho trình biên dịch biết rằng đối tượng được định nghĩa là động và bỏ qua kiểm tra kiểu tại thời điểm trình biên dịch, kiểm tra kiểu trì hoãn cho đến thời gian chạy. Tất cả các cú pháp đều được kiểm tra và lỗi sẽ xuất hiện trong thời gian chạy.

Ví dụ

using System;
namespace DemoDynamicKeyword{
   class Program{
      static void Main(string[] args){
         dynamic MyDynamicVar = 100;
         Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
         MyDynamicVar = "Hello World!!";
         Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
         MyDynamicVar = true;
         Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
         MyDynamicVar = DateTime.Now;
         Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
      }
   }
}

Đầu ra

Kết quả của ví dụ trên như sau.

Value: 100, Type: System.Int32
Value: Hello World!!, Type: System.String
Value: True, Type: System.Boolean
Value: 01-01-2014, Type: System.DateTime