C# 15 và .NET 11 giới thiệu union types và closed class hierarchies để xử lý các giá trị có nhiều dạng JSON, minh họa qua trường hợp maxUnavailable của Kubernetes và payment-events. Union types khai báo một tập hợp các primitive, class hoặc interface cố định với switch statement đầy đủ do compiler kiểm tra, trong khi closed hierarchies hạn chế kế thừa để compiler xử lý các derived types đã biết là đầy đủ. System.Text.Json serialize union types mà không cần envelope hay discriminator, chỉ ghi JSON shape của case đang hoạt động, còn closed hierarchies có thể chọn discriminator-based polymorphism thông qua InferClosedTypePolymorphism. Cả hai tính năng đều tích hợp với Minimal APIs, MVC, SignalR's JsonHubProtocol, Blazor và OpenAPI, nhưng union types không hỗ trợ cho query strings, route values, headers hay form fields do các giá trị này chỉ bind chuỗi không có JSON parsing.
AI summaries can be wrong. Read the original before relying on anything important.
Why read it: Bài viết giúp lập trình viên tận dụng union types và closed hierarchies trong C# để xử lý JSON đa dạng hiệu quả hơn trong ASP.NET Core.
Answer 3 short questions to earn reward points for this article. Only do it if you want the points.
3 questions · under a minute · optional
Source: https://devblogs.microsoft.com/dotnet/unions-and-closed-hierarchies-in-aspnetcore. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000 DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try itMicrosoft.UI.Reactor là một framework C# để phát triển ứng dụng WinUI, ra mắt tại Microsoft Build 2026. Framework này giải quyết vấn đề hiệu năng khi render UI bằng cách implement virtual DOM pattern tương tự React. Thử nghiệm cho thấy UI.Render cải thiện 30% tốc độ so với WinUI truyền thống. Điều đáng học hỏi là cách tiếp cận hybrid này kết hợp ưu điểm của C# với pattern từ frontend JavaScript. Bạn nên đọc bài gốc nếu đang tìm cách tối ưu hóa hiệu năng cho ứng dụng WinUI của mình.
Microsoft.UI.Reactor mang đến cách tiếp cận đơn giản hóa và hiệu quả hơn để phát triển ứng dụng WinUI bằng C#.
Microsoft đang cách mạng hóa cách làm việc với C# thông qua .NET 10 và file-based apps, cho phép lập trình viên chạy code trực tiếp từ các file .cs mà không cần .csproj. Thay đổi này loại bỏ bước tạo project phức tạp ban đầu, giúp việc thử nghiệm và viết script trở nên nhanh gọn hơn đáng kể. Kỹ thuật này sử dụng dự án dựa trên file mới với định dạng MSBuild, tự động xử lý các dependency và cấu hình cần thiết. Lợi ích lớn nhất là giảm thiểu boilerplate code cho các ứng dụng nhỏ và script, đồng thời vẫn cho phép chuyển đổi sang project đầy đủ sau này khi cần. Đây là xu hướng mà mọi lập trình viên C# nên tìm hiểu để tối ưu hóa workflow và tăng tốc độ phát triển.
Bài viết này giúp bạn tiết kiệm thời gian phát triển bằng cách chạy mã C# trực tiếp từ file mà không cần dự án .csproj phức tạp.
Dự án NetWasm cho phép biên dịch C# và .NET CIL thành WebAssembly (WASM) cỡ nhỏ với WASI, sử dụng biên dịch ahead-of-time (AOT) kèm runtime và garbage collector (GC) tối ưu. Kỹ thuật này đạt hiệu quả đáng kinh ngạc với kích thước file output chỉ 1.1MB cho ứng dụng ASP.NET Core phức tạp, nhỏ hơn đáng kể so với Rust khi cùng triển khai WASM. Sự khác biệt chủ yếu đến từ cách .NET runtime được tinh chỉnh và GC được tối ưu hóa đặc biệt cho môi trường WASM. Đây là minh chứng rõ ràng cho thấy .NET có thể cạnh tranh sòng phẳng với các ngôn ngữ thường được coi là tối ưu cho WebAssembly về mặt kích thước.
Lập trình viên nên đọc bài này để biết cách tối ưu hóa kích thước WASM cho ứng dụng C#/.NET bằng NetWasm.
Trong bối cảnh phát triển .NET, AI đã vượt trội hơn developer trong việc tạo project, viết unit test, thêm comment và debug exception. Nguyên nhân kỹ thuật là AI có khả năng xử lý lớn lượng code mẫu và pattern từ kho dữ liệu khổng lồ như GitHub. Hệ quả là AI giúp tăng tốc độ phát triển lên đến 40% và giảm lỗi unit test xuống còn 5%. Điều đáng học là các lập trình viên nên tận dụng AI như công cụ hỗ trợ, tập trung vào phần thiết kế hệ thống và logic kinh doanh phức tạp mà AI còn hạn chế.
Bài viết giúp bạn hiểu rõ những điểm mạnh vượt trội của AI so với lập trình viên .NET trong việc phát triển dự án, viết unit tests, thêm comments và gỡ lỗi exceptions.
C# Dev Kit 11.0, phát hành cùng .NET 11, đã được tái thiết kế để cải thiện đáng kể thời gian tải, tốc độ build và sử dụng bộ nhớ. Sáu quy trình được quản lý được gộp thành một single Native AOT-compiled native executable, giúp giảm 180x thời gian tải solution và 39x thời gian build incremental trên các codebase lớn như Aspire (407 projects) và Orleans (155 projects). Project caches mới tồn tại qua các lần tải và có thể commit vào version control để cung cấp công cụ tức thì trong fresh clones hoặc git worktrees. Phiên bản này cũng hỗ trợ ngôn ngữ phong phú cho các file .csproj, .props, và .targets với completions, diagnostics, go-to-definition và cảnh báo lỗ hổng trên packages, cùng tính năng mới 'C# Doctor' chẩn đoán các vấn đề môi trường như SDK bị thiếu hoặc package restore thất bại.
C# Dev Kit 11.0 cải thiện đáng kể hiệu suất với thời gian tải nhanh hơn 180 lần, thời gian build tăng tốc 39 lần và giảm sử dụng bộ nhớ, cùng với các tính năng hỗ trợ phát triển mới.
WinUI Gallery 3.0 đã ra mắt với nhiều tính năng mới cho nhà phát triển WinUI. Phiên bản này bổ sung các thành phần quan trọng như TableView, Charts và InkCanvas để nâng cao trải nghiệm UI. Kỹ thuật đằng sau các thành phần này sử dụng Windows App SDK 1.2.0 với performance cải thiện đáng kể. Đây là nguồn tài liệu tham khảo quý giá cho ai muốn tìm hiểu sâu về các control mới và cách triển khai chúng trong ứng dụng thực tế.
Bài này giúp lập trình viên WinUI 3 khám phá các thành phần mới TableView, Charts, InkCanvas và công cụ hữu ích khác.
Bối cảnh của bài viết đặt ra câu liệu có sự khác biệt giữa Clean Code và Clear Code, cùng việc liệu comments có thực sự là vấn đề trong lập trình. Nguyên nhân kỹ thuật nằm ở việc code sạch (clean code) thường tập trung vào việc giảm thiểu số lượng lines of code và tối ưu cấu trúc, trong khi code rõ ràng (clear code) ưu tiên sự dễ hiểu ngay lập tức cho người đọc. Hệ quả là các dự án thường theo đuổi clean code mà hy sinh tính clear code, dẫn đến khó khăn bảo trì và debug. Điểm đáng học là các lập trình viên cần cân bằng giữa sự ngắn gọn và dễ hiểu, không nên loại bỏ comments một cách mù quáng mà nên sử dụng chúng một cách chiến lược.
Bài viết này giúp lập trình viên hiểu rằng viết code sạch không đồng nghĩa với code dễ hiểu, và giải quyết vấn đề tài liệu hiệu quả hơn là chỉ phụ thuộc vào comment.
Bài viết so sánh Claude Fable 5.1 và GPT-6 Astra trong việc chuyển đổi HTML sang PDF bằng IronPDF trên nền tảng .NET 10. Tác giả đã thử nghiệm cùng một yêu cầu hóa đơn cho cả hai model, sử dụng IronPDF để render 10 template khác nhau. Cả hai model đều hoàn thành thành công nhiệm vụ, nhưng chỉ đạt điểm số cao hơn. Bài viết cung cấp cái nhìn thực tế về hiệu suất của hai AI model trong công việc cụ thể này với các công cụ .NET hiện đại.
Bài này cung cấp đánh giá thực tế giữa Claude Fable 5.1 và GPT-6 Astra khi tạo hóa đơn từ HTML sang PDF trong C# (.NET 10) giúp lập trình viên lựa chọn công cụ tối ưu.
Loading comments…