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

bổ sung thông tin
n
(bổ sung thông tin)
|versions = See [[#Versions|§ Versions]]
}}
'''C#''' ('''C Sharp''', đọc là ''"xi-sáp"'') là một [[ngôn ngữ lập trình]] [[lập trình hướng đối tượng|hướng đối tượng]] đa năng vô cùng mạnh mẽ được phát triển bởi [[Microsoft]], C# là phần khởi đầu cho kế hoạch [[.NET Framework|.NET]] của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo [[ECMA]] là '''C#''', chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên [[C++]] và [[Java (ngôn ngữ lập trình)|Java]]. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, [[Visual Basic]], [[Delphi (ngôn ngữ lập trình)|Delphi]] và [[Java (ngôn ngữ lập trình)|Java]].
 
C# được thiết kế chủ yếu bởi [[Anders Hejlsberg]] kiến trúc sư phần mềm nổi tiếng với các sản phẩm [[Turbo Pascal]], [[Delphi (ngôn ngữ lập trình)|Delphi]], J++, WFC. Phiên bản gần đây nhất là 9.0, được phát hành vào năm 20192020 cùng với [[Visual Studio]] 2019 phiên bản 16.8.<ref name="new_features_in_8">{{chú thích web|url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes?view=vs-2019|title=Visual Studio 2019|tác giả=|last=|first=|date=|website=Microsoft Docs|url lưu trữ=|ngày lưu trữ=|url hỏng=|ngày truy cập=}}</ref>
 
== Mục tiêu của việc phát triển C# ==
* Phát triển web (ASP.NET MVC, ASP.NET core, Blazor...)
*Phát triển desktop app (Winform, WPF, UWP, Mono, Uno..)
*Phát triển game ([[:en:Unity_(game_engine)|Unity]], Monogame, Godot, Stride..)
*Phát triển mobile app, IOS native, Android native (Xamarin)
*Phát triển đám mây ([https://azure.microsoft.com/en-us/ Azure])
*Học máy và trí tuệ nhân tạo ([https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet ML.Net], TensorFlow, csiSharp..)
*Phát triển thực tế ảo (VR) và thực tế tăng cường(AR) (HoloLens)
*Blockchain ([https://www.stratisplatform.com/ NEO, Stratis] )
*Microservices and containers
*Internet of thing (IoT)
== Đặc trưng của ngôn ngữ C# ==
* C# là ngôn ngữ đơn giản, mạnh mẽ
**C# được dựng trên nền tảng C++ và Java, ảnh hưởng bởi Delphi, VisualBasic nên ngôn ngữ C# được thừa hưởng các ưu điểm vào laọiloại bỏ các yếu điểm của các ngôn ngữ trên, vì vậy khá đơn giản, đồng thời loại bỏ các cú pháp dư thừa và thêm vào đó các cú pháp cải tiến hơn
**C# là [[Ngôn ngữ lập trình bậc cao#:~:text=Trong%20khoa%20h%E1%BB%8Dc%20m%C3%A1y%20t%C3%ADnh,chi%20ti%E1%BA%BFt%20c%E1%BB%A7a%20m%C3%A1y%20t%C3%ADnh.|ngôn ngữ lâp trình bậc cao]], [[đa nền tảng]] vì vậy nó '''dễ dàng tiếp cận''' và '''phù hợp cho người mới bắt đầu học''', ví dụ câu lệnh kinh điển dành cho người mới băt đầu hoc là in ra dòng chữ "Hello world", với C# ta chỉ cẩn 1 câu lệnh: '''System.Console.WriteLine("Hello world");'''
*C# là ngôn ngữ đa năng và hiện đại
**C# phù hợp cho việc phát triển trong thời đại 4.0, bao gồm việc phát triển web, mobile app, game, học máy và trí tuệ nhân tạo, phát triển đám mây, IoT, blockchain, microservices...
*C# là một ngôn ngữ lập trình hướng đối tượng đồng thời hỗ trợ lâp trình chức năng
**C# hỗ trợ mạnh mẽ cho phương pháp lâp trình hướng đối tượng, ngoài ra C# còn hỗ trợ các phuơng pháp lập trình chức năng thông qua các biểu thức lamba, khớp mẫu, functions, các thuộc tính bất biến.
**C# có cộng đồng nhà phát triển vô cùng lớn mạnh.
**C# được phát triển và cải tiến không ngừng với tần suất 1 phiên bản/ 1 năm, đáp ứng các mong muốn cải thiện, cải tiến cho phù hợp với nhu cầu công nghệ của các nhà phát triển.
**C# có [https://docs.microsoft.com/en-us/dotnet/csharp/ tài liệu tham khảo] và hướng dẫn vô cùng phong phú và chất lượng, đồng thời có các buổi hội thảo giới thiệu tính năng mới và định hướng phát triển ngôn ngữ trong tuơngtương lai.
**C# và .NET được đánh giá là có design tốt, vì vậy cú pháp và logic rất nhất quán, mã nguồn C# dễ đọc và mở rộng.
**C# được thiết kế và phát triển bởi Microsoft nên rất được Microsoft quan tâm và hỗ trợ.
Cấp cao hơn nữa được cung cấp bởi khái niệm này là ''assembly''. Một ''assembly'' là một file hoặc nhiều file được liên kết với nhau (thông qua file al.exe), chứa đựng nhiều namespace và object. Các chương trình cần các lớp để thực thi một chức năng đặc biệt nào đó sẽ tham chiếu các ''assembly'' chẳng hạn như System.Drawing.dll và System.Windows.Forms.dll cũng như các core library (lưu trong file mscorlib.dll).
 
==.NetNET 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 />
 
==.NET 5 ==
Bắt đầu từ .NET 5 là nền tảng hợp nhất giữa các phiên bản .NET, tập trung vào hiệu suất và đa nền tảng. .NET kế thừa từ các ưu việt của các nền tảng trước đó (.NET Framwork, .NET core, .NET Standard, Mono, Xamarin) để quản lý tập trung 1 framework với một hệ thống API hợp nhất cho các nền tảng phát triển của .NET
 
== 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