C# - C Sharp: Giới thiệu


Đăng ký nhận thông báo về những video mới nhất

Tổng quan

C# (C Sharp) là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .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. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và 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, J++, WFC.

Phần mở rộng thường gặp: .cs

Mô hình lập trình: Multi-paradigm programming language:Lập trình cấu trúc,Imperative programming,Lập trình hướng đối tượng,Event-driven programming,The Task-based Asynchronous Pattern, Lập trình hàm, Generic programming, Reflection (khoa học máy tính), Concurrent computing.

Năm xuất hiện: 2000.

Thiết kế bởi: Anders Hejlsberg, Microsoft.

Phát triển bởi: Microsoft.

Turing đầy đủ: Yes.

Kiểm tra kiểu: Static typing, Dynamic typing, Type system#Strong and weak typing, Type system#Safely and unsafely typed systems,Nominal type system,Type inference.

Thực hiện: Microsoft Visual C Sharp, .NET Framework, Mono, DotGNU.

Thuộc loại ngôn ngữ: Cω, Spec Sharp,Polyphonic C Sharp.

Ảnh hưởng từ: C++, Eiffel (programming language), Java (ngôn ngữ lập trình), Modula-3, Object Pascal, ML (programming language), Icon (programming language), Haskell (ngôn ngữ lập trình), Cω, F Sharp (programming language).

Ảnh hưởng tới: D (programming language), Dart (ngôn ngữ lập trình), F Sharp (programming language), Java (ngôn ngữ lập trình), Kotlin (programming language), Monkey X, Nemerle, Swift (ngôn ngữ lập trình), Vala (programming language).

Đặc điểm ngôn ngữ

C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET Framework mà tất cả các chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng của .NET runtime.

So sánh với C và C++ thì C# bị giới hạn và được nâng cao ở một vài đặc điểm nào đó, nhưng không bao gồm các giới hạn sau đây:

· Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn. Hầu hết các đối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm. Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; còn những đối tượng thuộc bộ thu rác (garbage-collector) thì chỉ được gọi bằng cách tham chiếu.

· Các đối tượng không thể được giải phóng tường minh.

· Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract interfaces). Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi.

· C# thì an-toàn-kiểu (typesafe) hơn C++.

· Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]").

· Kiểu thứ tự được thay thế bằng tên miền không gian (namespace).

· C# không có tiêu bản.

· Có thêm Properties, các phương pháp có thể gọi các Properties để truy cập dữ liệu.

· Có reflection.

C# 3.0, các đặc điểm mới

Trong C# 3.0, sẽ có vài bổ sung cơ bản sau:

· Các từ khóa "select, from, where" cho phép truy vấn từ một tập, từ SQL, v.v. (hay còn được gọi là LINQ - viết tắt của Language INtergrated Query)

· Khởi tạo đối tượng: Customer c=new Customer(); c.Name="James"; trở thành Customer c=new Customer{ Name="James" };

· Các biểu thức lambda: listOfFoo.Where(delegate(Foo x) {return x.size>10;}) trở thành listOfFoo.Where(x => x.size>10);

· var x = "hello"; có thể hoán đổi với string x = "hello";

· Các phương thức mở rộng

.NET Framework

.NET Framework là một thư viện class có thể được sử dụng với một ngôn ngữ .NET để thực thi các việc từ thao tác chuỗi cho đến phát sinh ra các trang web động (ASP.NET), phân tích XML và reflection. .NET Framework được tổ chức thành tập hợp các namespace, nhóm các class có cùng chức năng lại với nhau, thí dụ như System.Drawing cho đồ hoạ, System.Collections cho cấu trúc dữ liệu và System.Windows.Forms cho hệ thống Windows Forms.

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).

Thí dụ kinh điển Hello World

Dưới đây là một chương trình C# rất đơn giản, với thí dụ "Hello World" kinh điển:

public class ExampleClass

{
  static void Main(string[] args)
  {
    System.Console.WriteLine("Hello world!");
  }
}

Chương trình này sẽ viết chuỗi Hello World! ra màn hình console. Mỗi dòng code có một mục đích đặc biệt, chi tiết như sau:

public class ExampleClass

Đây là định nghĩa lớp public, nghĩa là các đối tượng trong project khác có thể tự do sử dụng lớp này. Tất cả thông tin trong dấu ngoặc móc mô tả về lớp này.

static void Main()

Đây là điểm vào của chương trình. Nó có thể được gọi từ đoạn code khác với cú pháp ExampleClass.Main().

Next »
Copied !!!