Cùng tìm hiểu về C#; chủ đề nâng cao trong C#; những cơ sở ngôn ngữ C#; lớp và đối tượng;... được trình bày cụ thể trong Bài giảng Khái niệm cơ bản C# do Trần Anh Tuấn A biên soạn.
Trang 1Khái niệm cơ bản C#
Trần Anh Tuấn A
Trang 3Giới thiệu C#
Được phát triển bởi đội ngũ kỹ sư của
Microsoft Dẫn đầu là : Anders Hejlsberg và Scott Wiltamuth
Trang 4Giới thiệu C#
C# là một ngôn ngữ đơn giản :
macro , template , đa kế thừa , virtual base class
cải tiến đơn giản hơn (Ví dụ : “:: , , ” chỉ còn “.”
C# là một ngôn ngữ hiện đại :
Có đầy đủ các tính năng : Xử lý ngoại lệ , thu gom
bộ nhớ tự động , kiểu dữ liệu an toàn, bảo mật mã nguồn…
Trang 6Giới thiệu C#
C# có ít từ khoá :
Trang 8 Liệt kê : enum Ngay {Hai,Ba,Tu,Nam,Sau,Bay,CN};
Câu lệnh : if else , switch , for , while , goto
foreach : vòng lặp để duyệt tất cả các phần tử của mảng , tập hợp
VD : int[] intarray; intarray = new int[5];
foreach(int i in intarray)
Console.WriteLine(i.ToString());
Trang 9Những cơ sở ngôn ngữ C#
Tạo vùng tên
(namespace)
Trang 10Lớp và đối tượng
Khai báo , tạo dựng và sử dụng lớp
Trang 11Lớp và đối tượng
Phương thức thiết lập (Constructor)
Phương thức thiết lập sao chép
Trang 12Lớp và đối tượng
Tham chiếu
Trang 13Lớp và đối tượng
Đóng gói dữ liệu với Property
Nguoi A = new Nguoi();
A.HoTen = “Tran Anh Tuan”;
string tentoi = A.HoTen;
Trang 14Thừa Kế & Đa Hình
Thừa kế : “:” Đa Hình : “virtual”
Boxing & UnBoxing
Boxing : chuyển đổi kiểu giá trị thành kiểu Object
UnBoxing : Trả kết quả một đối tượng về giá trị
Trang 15Cấu Trúc
Cách dùng : Location loc
= new Location(200,300);
Console.WriteLine(“KQ = {0}”, loc );
Trang 16Giao diện
Tạo một giao diện
Mở rông giao diện & Kết hợp giao diện
Trang 18Array , Indexer , và Collection
Array :
Sử dụng lớp System.Array (sẽ được hỗ trợ rất
nhiều các tính năng khác như :copy , sort , inverse…)
Trang 19 Indexer : tương tự như Property nhưng là lấy theo index
Cách dùng :
Trang 20Array , Indexer , và Collection
Net Framework cung cấp một số giao diện chuẩn sau :
Trang 21 Lấy chiều dài : s.length
Chuỗi con : s.Substring(begin,end);
Thay thế : s.Replace( chuoi1 , chuoi2 )
Trang 22 Định dạng chuỗi
Các thành viên lớp string
Insert() chèn chuỗi
Split() cắt chuỗi v.v….
Trim(), TrimEnd(),TrimStart()
Trang 23Xử lý lỗi & exception (biệt lệ)
Exception chứa các thông tin về sự cố bất
thường của chương trình
Phân biệt bug , error , và exception
Chương trình dù đã không còn bug hay error vẫn có thể cho ra các exception ( truy cập , bộ nhớ )
Có thể dùng các đối tượng exception có sẵn ,
tự tạo exception , hay bắt exception trong
exception (trong trường hợp sửa lỗi )
Trang 24Xử lý lỗi & exception (biệt lệ)
Cấu trúc xử lý lỗi
Trang 25Xử lý lỗi & exception (biệt lệ)
Đối tượng Exception :
Tạo biệt lệ :
Trang 26Delegate và Event
Delegate ( ủy thác , ủy quyền ) : giúp giải
quyết vấn đề muốn thực thi một phương thức
nào đó của một đối tượng nào đó nhưng người lập trình có thể chưa rõ lúc thiết kế
Một delegate chứa tham chiếu tới hàm
Cách khai báo
Trang 28 Event : Ứng với mỗi thao tác người dùng sẽ có một
sự kiện phát sinh , và chương trình sẽ phải đáp trả cho mỗi sự kiện này.
Publishing : Một lớp phát sinh sự kiện
Subscribing : Các lớp được subscribe sẽ nhận thông báo về
sự kiện phát sinh , và thực thi
Event trong C# sẽ được cài đặt bằng delegate Lớp
publish định nghĩa một delegate Khi một sự kiện
phát sinh phương thức của lớp subscribe sẽ được gọi thông qua delegate
Delegate và Event
Trang 32Bài sau
Giới thiệu về các control , hộp thoại menu ,
custom control
Tác vụ File
Quản lý thư mục ,tìm kiếm file , folder
Di chuyển, sao chép, huỷ các file và folder