Khác biệt giữa các bản “C Sharp (ngôn ngữ lập trình)”

→‎C# 7.2[18]: C# 8.0[18], C# 9.0[18]
(Cập nhật thêm các tính năng mới cho C# 7.3)
(→‎C# 7.2[18]: C# 8.0[18], C# 9.0[18])
* Toán tử nameof
 
==== [https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7 C# 7.0]<ref>Có gì mới trong C# 7.0?
 
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7</ref> ====
* Throw cũng có thể được dùng làm biểu thức
 
==== [https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7 C# 7.1]<ref>https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7-1</ref> ====
* Async main
* Tên các phần tử tuple được nội suy
 
==== [https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7 C# 7.2]<ref name=":0">https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-79</ref> ====
* Reference ngữ nghĩa với các loại giá trị
* Các đối số được đặt tên không có đuôi
* Quá tải phương thức in.
* Mở rộng các biến biểu thức trong trình khởi tạo.
*Đính kèm attribute vào trường sao lưu cho các thuộc tính được triiển khai tự động.
[https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8 C# 8.0]<ref name=":0" /> Hỗ trợ trong .NET Core 3.0 và .NET Standard 2.1 trở lên
* Kiểu tham chiếu nullable (Nullable reference types)
*Hỗ trợ biến thành viên chỉ đọc cho struct (Readonly Members)
*Phương thức mặc định trong interface (Default interface methods)
*Hàm cục bộ tĩnh (Static local functions).
*Mở rộng pattern matching cho biểu thức swich expressions, property patterns, tuple pattern, positional pattern (More patterns in more places)
*Phạm vi và chỉ số ( Ranges and indices)
*Cải thiện khai báo từ khóa using (Using declarations)
*Toán tử kiểm tra và gán khi biến là null (Null- coalescing asignment)
*Luồng bất đồng bộ (Asynchronous stream)
*Asynchronous disposable
*Unmanaged constructed types
*Stackalloc in nested expressions
*Enhancement of interpolated verbatim strings
[https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9 C# 9.0]<ref name=":0" /> Hỗ trợ trong .NET 5.0 trở lên
* Bản ghi (Record)
*Thuộc tính bất biến (Init only setters
*Biểu thức cấp cao nhất (Top-level statements).
**Trước C# 9.0: using System; class ExampleClass {     static void Main(string[] args)     {         Console.WriteLine("Hello World!");     } }
**C# 9.0: using System; Console.WriteLine("Hello World!");
*Pattern matchin enhancements
*Native sized integers
*Function pointers
*Suppress emitting localsinit flag
*Target-typed new expressions
*static anonymous functions
*Target-typed conditional expressions
*Covariant return types
*Extension GetEnumerator support for foreach loops
*Lambda discard parameters
*Attributes on local functions
*Module initializers
 
==.NET Framework ==
 
==.Net Core ==
.NET Core là một nền tảng phát triển đa mục đích, mã nguồn mở được duy trì bởi Microsoft và cộng đồng .NET trên GitHub. Đó là nền tảng chéo (hỗ trợ Windows, macOS và Linux) và có thể được sử dụng để xây dựng các ứng dụng thiết bị, đám mây và IoT.<br />
<br />
== Ví dụ đơn giản Hello World ==
Dưới đây là một chương trình C# rất đơn giản, với ví dụ "[[chương trình máy tính "Xin chào thế giới"|Hello World]]" kinh điển:
Người dùng vô danh