Extension trong C#?

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về phương thức Extension trong C#. Đây là một phương thức rất hiệu quả trong việc thể hiện code một cách gọn gàng và dễ đọc hơn. Do đó, bạn có thể mở rộng class một cách thoải mái mà không cần lo ngại về việc thay đổi logic hay ảnh hưởng tới các class cũ. Phương thức Extension là gì? Phương thức này bắt đầu được thêm vào từ C# 3.0 và nó đã trở thành công cụ đắc lực giúp lập trình viên có được những đoạn code ngắn gọn và hiệu quả hơn. Trước đó, để mở rộng một class, developer phải kế thừa từ class cũ. ...

24/09/2024

Lazy giúp khởi tạo trong multithread

Ở bài viết Singleton Pattern, tôi có trình bày về một cách đơn giản để tạo Singleton Pattern trong môi trường thread-safe bằng cách sử dụng Lazy. Trong .Net, đây là một class được dùng để khởi tạo an toàn trong môi trường đa luồng. Lazy là gì? Lazy<T> là một lớp giúp bạn trì hoãn việc tạo đối tượng cho đến khi sử dụng đối tượng đó lần đầu tiên, chúng ta có thể gọi là Lazy Initialization hay là khởi tạo chậm đều được. ...

11/08/2024

Lưu trữ dữ liệu tốn ít tài nguyên hơn dựa vào bit trong CSharp

Việc sử dụng bit trong C/C++ có lẽ các bạn đã quá quen thuộc rồi. Trong C/C++ có 1 phần khá hay là bit fields, bạn có thể tạo được nhiều biến chỉ với 1 byte, đương nhiên là trong khuôn khổ số bit đó thể hiện. Nay mình lên thêm một bài dành cho C#. Nói 1 cách chính xác thì nó không giống như bit fields trong C/C++. Nó không tối ưu size của biến trong quá trình runtime, nó dùng để tối ưu khi sử dụng để lưu trữ dữ liệu. Do đó, bài viết này không mô tả khái niệm bit fields mà là thủ thuật sử dụng bit để tối ưu dữ liệu để lưu trữ. Chúng ta sẽ đi xuyên suốt bài viết này và cùng so sánh điểm khác biệt giữa C/C++ và C#. ...

06/08/2024

Hiểu về từ khoá this trong Javascript

Với các bạn từng học các ngôn ngữ hướng đối tượng khác ví dụ như C#, Java,.. thì chắc hẳn bạn đã rất quen với khái niệm this . Và khi mình tìm hiểu một chút về từ khoá này thì mỗi ngôn ngữ sẽ có cách sử dụng khá khác nhau. Nhưng nhìn chung, mọi ngôn ngữ đều chung một mục đích hay sử dụng là phân biệt parameter của function và properties của class, ngoài ra còn một số cách sử dụng khác. Tuy nhiên, trong bài viết này, tôi sẽ trình bày với các bạn từ khoá this trong Javascript. ...

29/04/2024

Bit Fields trong C chia nhiều biến chỉ với 1 byte

Struct là một phần không thể thiếu ở trong ngôn ngữ C/C++ nó giúp chúng ta tạo ra kiểu dữ liệu mới để dễ dàng quản lý các biến hơn. Tuy nhiên, có một số điều có thể các bạn chưa biết bí thuật về struct của C/C++. Chúng ta cùng tìm hiểu một trong các bí thuật đó là về Bit Fields, và cách áp dụng nó để tạo ra nhiều biến khác nhau với số bit nhất định nhé. ...

12/04/2021