Lưu ý nhỏ: C# thường được release với .NET. C# là ngôn ngữ lập trình, còn .NET là 1 thư viện/framework (Ta có VB.NET, F#, ASP.NET v…v). Trong phạm vi bài viết, mình chỉ đề cập vê những thay đổi trong bản thân ngôn ngữ C#, không giới thiệu những công nghệ mới qua từng phiên bản .NET như EF, WIF, v…v nhé. Có một số phần mình đã viết rồi, chỉ dẫn link tới bài viết cũ nhé.
1. C# 2 – Giải quyết vấn đề từ C# 1
a. Kiểu dữ liệu Generic: Nói đơn giản, nó là kiểub. Kiểu dữ liệu nullable: Trong nhiều trường hợp, ta cần thể hiện giá trị null với kiểu dữ liệu tham trị như int, double v…v. Với 1 số ngôn ngữ khác, ta phải chuyển nó sang dạng tham chiếu như Interger, Double. Với C# 2, ta có thể dùng kiểu nullable, khai báo bằng cách: Nullable
c. Delegate: Đã có thể sử dụng anonymous delegate, viết ngắn học hơn so với C# 1
d. Partial class: Một partial class có thể được khai báo trong nhiều file khác nhau. Partial class được áp dụng trong Winform, class tự sinh từ Entity Framework, giúp ta dễ dàng thêm chức năng vào form, class mà không cần động tới những class được C# tự tạo ra.
d. Iterator (IEnumerable): Để duyệt từng phần tử một mảng, ta có thể dùng hàm foreach. Iterator là một cực hình khi implement trong C# 1. Với từ khóa yield, việc tạo Iterator trong C# đã trở nên rất dễ ràng
2. C# 3 – Cải tiến trong data access, LINQ chào đời
a. Một số thay đổi nhỏ trong compiler: Một số thay đổi nho nhỏ được C# thêm vào, giúp việc code trở nên nhẹ nhàng hơn, bạn có thể xem code của các thay đổi này trong 2 phần đầu của series C# hay ho.- Tự implement getter, setter thông qua properties
- Khởi tại object và array một cách dễ dàng
- Khai báo bằng biến var
- Anonymous class
c. Extension method: Bạn đọc lại phần mình viết về extension method ở bài viết trong link nhé.
d. Query và LINQ: Đây là phiên bản C# đầu tiên LINQ ra đời, đã làm võ lâm dậy sóng, giang hồ chấn động. Những cải tiến như var, anonymous class, lamda expression, extension method đều là nền tảng để xây dựng LINQ.
e. Ứng dụng khác của LINQ: Ban đầu, LINQ được dùng để filter, sort v…v các object trong bộ nhớ. Nhờ sự trợ giúp của expression tree, LINQ đã có 1 số ứng dụng khác như: LINQ to SQL (Dịch lambda expression thành SQL, query trực tiếp dưới database), LINQ to XML, Parellel LINQ.
3. C# 4 – Thay đổi nho nhỏ
a. Cải tiến nhỏ giúp code ngắn gọn hơn: Thêm named arguments và optional parametersb. Lập trình với dynamic: Đây là thay đổi lớn nhất và đáng chú ý nhất trong C#. Với dynamic, giờ đây ta có thể làm việc với các object từ những ngôn ngữ dynamic như Python, Ruby, Javascript, … Nghe có vẻ hoành tráng nhưng mình thấy dynamic ít được xài trong cái project thật, không hiểu vì sao :(.
4. C# 5 – Giảm thiểu đau đầu khi code bất đồng bộ
Điểm nhấn lớn nhất của phiên bản C# 5 này chính là 2 từ khóa async và await. Nhiều function trong C# đã được hỗ trợ call async và await. Phần này thì mình xin thú thật là mình cũng đọc rồi, nhưng do chưa áp dụng nhiều nên không hiểu mấy, có lẽ khi mình hiểu sâu hơn về vấn đề này, mình sẽ viết 1 bài hướng dẫn. (Ngày xưa mấy cái như event, delegate mình cũng ngu vậy ấy, về sau gặp trong code nhiều là tự động khá lên à.)Cảm ơn sự quan tâm theo dõi của các bạn đọc trong thời gian qua. Trong 4 tháng mình đạt được mốc 1000 view, nhưng mới quảng cáo trên fb 1 ngày đã được hơn 1000 view, ngày hôm sau được ~400 view nữa :'(, sức mạnh của quảng cáo thật là to lớn quá a :'(.
0 nhận xét:
Đăng nhận xét