C# 15 adds with(...) arguments to collection expressions, so you can finally set a comparer or capacity without abandoning the [a, b] syntax.
Source: https://khalidabuhakmeh.com/posts/collection-expression-arguments-csharp-15. 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 đ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.
Công nghệ AI đang thay đổi thị trường việc làm .NET khi nhiều lập trình viên sẽ phải đối mặt với giảm nhu cầu coding do AI có thể tạo ra code tự động. Nguyên nhân kỹ thuật nằm ở các công cụ như GitHub Copilot và Amazon CodeWhisperer sử dụng machine learning để hiểu ngữ cảnh và đề xuất code. Hệ quả là thị trường lao động đang dịch chuyển, đòi hỏi lập trình viên .NET phải tập trung vào kỹ năng thiết kế hệ thống, quản lý AI và kiểm chất lượng code thay vì viết code thủ công. Điều đáng học là các kỹ năng mới như prompt engineering và tích hợp AI API sẽ trở thành yếu tố cạnh tranh quan trọng, trong khi cơ hội việc làm sẽ tập trung nhiều hơn vào vị trí software architect và AI solution engineer.
Bài viết này giúp lập trình viên .NET hiểu cách AI đang biến đổi công việc và chuẩn bị kỹ năng cần thiết cho tương lai.
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.
Khi test code phụ thuộc thời gian như invitation hết hạn sau 5 phút, việc sử dụng DateTime.Now gây khó khăn trong unit tests. .NET cung cấp TimeProvider và FakeTimeProvider để giải quyết vấn đề này, cho phép kiểm soát hoàn toàn giá trị thời gian trong môi trường test. FakeTimeProvider cho phép bạn thiết lập một thời gian cụ thể, ví dụ DateTime.Parse("2023-01-01 10:00:00"), để kiểm tra chính xác logic hết hạn mà không cần chờ đợi thời gian thực. Giải pháp này giúp loại bỏ dependency injection vào DateTime.Now và tạo ra test case đáng tin cậy, dễ bảo trì, đặc biệt quan trọng với các business logic phức tạp liên quan đến thời gian.
Bài viết giúp bạn kiểm tra mã phụ thuộc thời gian một cách hiệu quả bằng cách sử dụng TimeProvider và FakeTimeProvider trong .NET.
WinApp CLI phiên bản 0.7.0 vừa ra mắt với tính năng tự động hóa Windows Sandbox và hỗ trợ Native AOT. Bản cập nhật này cũng giới thiệu hỗ trợ dự án single-file, giúp đơn giản hóa việc triển khai ứng dụng. Người dùng có thể cải thiện hiệu suất bằng cách tận dụng Native AOT, giảm đáng kể thời gian khởi động ứng dụng. Đặc biệt tính năng Windows Sandbox Automation cho phép tự động hóa việc kiểm thử trong môi trường cách ly an toàn, rất hữu ích cho quá trình phát triển và kiểm thử phần mềm.
Lập trình viên nên đọc bài viết này để cập nhật những tính năng mới quan trọng như Windows Sandbox Automation và Native AOT support trong WinApp CLI v0.7.0.
Các ứng dụng sử dụng Microsoft.Data.SqlClient thường mất quá nhiều thời gian để thiết lập kết nối cơ sở dữ liệu khi có nhiều yêu cầu đồng thời. Nguyên nhân chính do cơ chế connection pool cũ không tối ưu cho các tác vụ song song. Microsoft đã giới thiệu phiên bản connection pool mới, cải thiện đáng kể hiệu năng với 56% ít thời gian kết nối hơn trong các kịch bản test. Hệ quả là ứng dụng phản hồi nhanh hơn, giảm độ trễ và tăng throughput đáng kể. Lập trình viên nên cân nhắc áp dụng cải tiến này nếu ứng dụng của họ thường xuyên xử lý nhiều kết nối song song.
Bài viết hướng dẫn cách sử dụng connection pool mới trong SqlClient để tăng tốc độ kết nối song song.
Bài viết giải thích chi tiết về delegates và events trong C#, bao gồm các loại có sẵn như Action, Func và Predicate, cùng với việc tạo custom EventArgs. Tác giả cung cấp ví dụ thực tế minh họa cách sử dụng delegates để trỏ đến phương thức và cách events giúp xử lý communication giữa objects. Các khái niệm này là nền tảng cho design patterns như Observer và các framework hiện đại như Reactive Extensions. Đối với lập trình viên C#, hiểu rõ delegates và events là cần thiết để xây dựng ứng dụng có khả năng mở rộng và dễ bảo trì.
Tìm hiểu delegates và events trong C# giúp bạn xây dựng các ứng dụng linh hoạt với cơ chế xử lý sự kiện mạnh mẽ.
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.
Đang tải bình luận…