Khám phá C# 7

Trong khi ta chưa dùng hết tính năng mới của C# 6, Microsoft lại tung ra C# 7 kèm theo Visual Studio 2017. Trong bài này, tôi sẽ trình bày vài tính năng nổi bật của nó. »

Tản mạn C#: LINQ

Là dân C#, sớm muộn gì ta cũng phải đụng đến LINQ. LINQ là một kỹ thuật giúp ta thực hiện truy vấn, biến đổi dữ liệu theo phong cách quen thuộc của SQL. Sử dụng LINQ, những đoạn code trước đây rườm rà giờ trở nên gọn nhẹ. Những vòng lặp dài dòng giờ chỉ còn một dòng ngắn gọn. Vì vậy, những người mới bắt đầu sẽ khá bỡ ngỡ khi dùng LINQ. Bài viết này sẽ tổng hợp lại những hàm căn bản của LINQ để giúp bạn tham khảo dễ dàng khi cần thiết. »

Khám phá C# 6

Nếu tôi có một danh sách các ngôn ngữ lập trình yêu thích thì C# sẽ nằm đầu danh sách đó. Trong dịp ra mắt Visual Studio 2015, Microsoft cũng trình làng C# 6. Trong bài này, tôi sẽ điểm qua 10 tính năng mới của C# 6. »

Tản mạn C#: Hello World

Hầu hết mọi thứ trong C# là đối tượng (object). Do đó, khi động đến C#, ta không thể tránh khỏi làm việc với class. Khái niệm class trong C# vay mượn khá nhiều từ C++. Tuy vậy, C# không mù quáng mà sao chép y nguyên. Những cú pháp rườm rà thường gây ra lỗi trong C++ đã được C# chắt lọc và đơn giản hóa nhằm tăng hiệu quả khi viết code. Nếu so sánh đoạn code định nghĩa class trong C# và C++, ta thấy C# gọn nhẹ hơn, không chứa nhiều chi tiết lặt vặt như C++. Đơn cử là dấu chấm phẩy sau định nghĩa class trong C++ mà tôi rất hay quên. Trong C#, tôi không phải lo về cái dấu nhỏ xíu đó. »

Tản mạn C#: Kiến trúc căn bản

C# là ngôn ngữ lập trình hướng đối tượng dựa trên cú pháp của C, C++ và Java. Tuy nhiên, dù đã quen với C++ thì khi chuyển sang C#, ta cũng sẽ ít nhiều gặp vài bất ngờ. Điển hình là sự khác biệt giữa class và struct. Trong C++, sự khác biệt này không đáng kể và có phần hơi “nhảm”: các phần tử của struct mặc định sẽ public, còn của class mặc định là private. Vậy chỉ cần tạo một class và cho tất cả member thành public thì nó sẽ như một struct. Trong C#, struct (kiểu value) và class (kiểu reference) rất khác biệt. Nếu hiểu được sự khác nhau giữa struct và class thì coi như ta đã hiểu được 50% các vấn đề trong C#. »