Kiểu Vô Danh Và Kiểu động Dynamic Trong C# C Sharp
Có thể bạn quan tâm
Kiểu vô danh C#
Kiểu vô danh (Anonymous Type) - là kiểu không có tên. C# cho phép bạn tạo ra các đối tượng kiểu vô danh bằng từ khóa new, cú pháp cơ bản để tạo ra đối tượng có kiểu vô danh như sau:
var obj = new { thuoctinh1 = giatri1, thuoctinh2 = giatri2 }Bằng cú pháp như vậy, tạo ra được đối tượng chứa các thuộc tính (chú ý - thuộc tính là chỉ đọc), bạn tạo ra đối tượng mà không cần phải khai báo lớp
Ví dụ: tạo đối tượng có 3 thuộc tính
var myProfile = new { name = "XuanThuLab", age = 20, skill = "ABC" };Để truy cập thuộc tính của toán tử vẫn dùng ký hiệu . và tên thuộc tính.
Console.WriteLine(myProfile.name);Kiểu vô danh Anonymous Type - được dùng phổ biến trong LINQ (tìm hiểu phần sau)
Khi có đối tượng kiểu vô danh, nếu dùng nó truyền như tham số cho các phương thức - coi nó như các object có thể gây lỗi khi buil ứng dụng - trình biên dịch kiểm tra và báo lỗi. Để giải quyết vấn đề này có thể dùng đến khai báo kiểu dynamic
Kiểu động - dynamic
Biến kiểu động - ngầm định - khai báo với từ khóa dynamic, thì kiểu thực sự của biến đó được xác định bằng đối tượng gán vào ở thời điểm chạy (khác với kiểu ngầm định var kiểu xác định ngay thời điểm biên dịch)
dynamic myvar; Ví dụ khai báo phương thức có sử dụng tham số kiểu dynamic static void TestFunc(dynamic dvar) { Console.WriteLine(dvar.age); // ở thời điểm biên dịch - không biết dvar có thuộc tính age hay không, nhưng nó vẫn biên dịch }Với phương thức trên, ở thời điểm chạy mà đối tượng ở tham số có thuộc tính age thì sẽ không lỗi, còn nếu không có thuộc tính age sẽ sinh ngoại lệ.
var myProfile = new { name = "XuanThuLab", age = 20, skill = "ABC" }; TestFunc(myProfile); // In ra 20Bạn có thể dùng kiểu động này với kiểu dữ liệu bất kỳ
dynamic d1 = 7; dynamic d2 = "a string"; dynamic d3 = System.DateTime.Today; dynamic d4 = System.Diagnostics.Process.GetProcesses();Source code: CS008_Anonymous (Git), hoặc tải cs008-dynamic
ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mớiTừ khóa » Dynamic Là Gì C#
-
So Sánh Từ Khóa Var Và Dynamic Trong C# - Viblo
-
Từ Khóa Dynamic Trong C# | How Kteam
-
Phân Biệt Giữa Biến Kiểu Object Và Biến Kiểu Dynamic - TEDU
-
Kiểu Dữ Liệu Object Và Dynamic Trong C# - Quản Trị Máy Tính
-
The Dynamic Type - The Complete C# Tutorial
-
Kiểu Dữ Liệu Object Và Dynamic Trong C#. – Nguyễn Anh Tuấn
-
Using Type Dynamic - C# Programming Guide - Microsoft Docs
-
Từ Khóa Dynamic Trong C# - IIS Windows Server
-
C# — Sự Khác Biệt Giữa Object, Dynamic Và Var
-
Tìm Hiểu Về Dynamic Programming Và Dynamic Language Runtime ...
-
Cuối Cùng Mình đã Hiểu Về STATIC Và DYNAMIC
-
Các Kiểu đặc Biệt Trong C#: Anonymous, Nullable, Dynamic
-
Dynamic Trong C# 4 - Phần 1 - Ho Hai Thanh's Blog
-
(PDF) Adding Dynamic Types To C# - ResearchGate