TẬP TINThông tin hệ thống UserName Trả về tên của người đang sử dụng Version Trả về tên của đối tượng System.. Version hiển thị thông tin về phiên bản của CLR Exit Kết thúc tiến trình x
Trang 1LẬP TRÌNH NÂNG CAO
KHOA CNT T - 2022
PHAN HỒ DUY PHƯƠNG
Trang 3LẬP TRÌNH NÂNG CAO Phan Hồ Duy Phương
http://duyphuong.top
ĐỆ QUI
Trang 6ĐỆ QUI
Chương trình đệ qui được chia 2 phần:
Phần cơ sở: Điểm dừng hay điều kiện thoát khởi
chương trình.
Phần đệ qui: Gọi lại chính nó
Trang 7ĐỆ QUI
o Đệ qui tuyến tính (Linear Recusion)
o Đệ qui nhị phân (Binary Recursion)
o Đệ qui lồng (Nested Recursion)
o Đệ qui hỗ tương (Mutual Recursion)
Trang 8ĐỆ QUI
Đệ qui tuyến tính (Linear Recusion): Mỗi lần
thực hiện gọi đệ qui một lần.
Trang 9ĐỆ QUI
Đệ qui nhị phân (Binary Recusion): Mỗi lần thực
hiện gọi đệ qui hai lần.
Trang 11return isEven(n-1);
}
Trang 14LẬP TRÌNH NÂNG CAO Phan Hồ Duy Phương
http://duyphuong.top
CHUỖI
VÀ CÁC THAO TÁC
TRÊN CHUỖI
Trang 15KHÁI NIỆM
o Kiểu char chỉ chứa được 1 ký tự => để lưu trữ một chuỗi các ký tự (nhiều ký tự) ta sử dụng một mảng (array) các ký tự.
o Chuỗi ký tự kết thúc bằng ký tự ‘\0’ (null)
o Độ dài chuỗi = kích thước mảng – 1
VD:
string s;
Trang 16oKhai báo verbatim (@) – nguyên thể:
string s = @ “\tMekong \n Uni” ;
Console.Write(“{0}”,s);
// \tMekong \n Uni
Trang 17KHAI BÁO CHUỖI
o Khai báo chuỗi interpolation($) :
int a = 5;
string s = $ “Gia tri a = {a}” ;
Console.Write(s);
// Gia tri a = 5
Trang 19CÁC HÀM THAO TÁC TRÊN CHUỖI
o s.Length: độ dài chuỗi s
VD: string s = “mekong”;
int len = s.Length; // len = 6
o .ToLower(): chuyển chuỗi s thành chuỗi thường VD: string s = “MeKong”;
s = s.ToLower();
Console.Write(s); // mekong
Trang 20CÁC HÀM THAO TÁC TRÊN CHUỖI
o s.ToCharArray: chuyển đổi thành mảng ký tự VD: string s = “mekong”;
char[] arr = s.ToCharArray()
foreach(char c in arr){
Console.Write(c);
}
Trang 23o String.Compare(s1,s2, false ) hay s1.CompareTo(s2):
so sánh hai chuỗi s1 và s2, phân biệt hoa thường
Trang 27o s1.StartWith( s2): Kiểm tra chuỗi s1 có bắt đầu
bằng chuỗi s2 hay không
o s1.EndWith( s2): Kiểm tra chuỗi s1 có kết thúc bằng chuỗi s2 hay không
Trang 28o s1.Replace(a , b) : Thay thế ký tự cũ (a) bằng ký tự mới (b) trong chuỗi s1.
o s1.Replace(s2 , s3) : Thay thế chuỗi cũ (s2) bằng chuỗi
mới (s3) trong chuỗi s1.
Trang 30o s.Trim() : Loại bỏ khoản ở đầu và cuối chuỗi s.
o s.TrimLeft(), s.TrimRight(): Chỉ loại bỏ khoản ở đầu (Left) , cuối (Right) chuỗi s.
Trang 33BÀI TẬP
1 Viết chương trình nhập vào một chuỗi,
chuyển sang chuỗi hoa và xuất chuỗi đảo
ngược.
2 Viết chương trình cho phép người dùng
nhập vào ngày sinh dạng dd/mm/yyyy, xuất rời từng thông tin dd, mm, yyyy.
3 Nhập vào chuỗi và kiểm tra trong chuỗi có
HashTag #Mekong hay không.
4 Kiểm tra và xuất các HashTag trong chuỗi
HashTag: là chuỗi liền, bắt đầu bầu bằng #
Trang 35LẬP TRÌNH NÂNG CAO Phan Hồ Duy Phương
http://duyphuong.top
TẬP TIN
VÀ CÁC THAO TÁC
XỬ LÝ TẬP TIN
Trang 36VD:
throw new System.Exception();
Trang 38TẬP TIN
Thông tin hệ thống
o System.Environment là lớp cơ sở được sử dụng
để nhận các thông tin về môi trường các ứng
dụng
CurrentDirectory Nhận hoặc thiết lập tên của thư mục
MachineName Nhận tên máy của tiến trình đang
hoạt động OSVersion Trả về phiên bản của hệ điều hành
đang sử dụng
Trang 39TẬP TIN
Thông tin hệ thống
UserName Trả về tên của người đang sử dụng
Version Trả về tên của đối tượng System Version
hiển thị thông tin về phiên bản của CLR
Exit() Kết thúc tiến trình xử lý hiện thời – trả
về mã để thoát của hệ điều hành
GetFolderPath() Trả về đường dẫn của thư mục
getLogicalDrivers() Trả về mảng chuỗi chứa danh sách các ổ
đĩa trong hệ thống hiện thời
Trang 40foreach ( string d in drives)
Console.WriteLine(d);
Trang 41TẬP TIN
Thông tin thư mục
o Phương thức Enviroment.GetFolderPath() được
sử dụng để lấy toàn bộ đường dẫn của các thư mục khác nhau trên máy hiện tại.
o Đối số được chuyển tới phương thức là giá trị kiểu liệt kê từ System.Enviroment.SpecialFolder.
Trang 42TẬP TIN
o Thông tin thư mục
Favorites Thư mục favorite để lưu trữ
trong favourite links History Thư mục history để lưu trữ các
file
Program
Trang 43TẬP TIN
o Thông tin thư mục
StartMenu Thư mục trong StartMenu
Startup Thư mục của Startup menu trong
Start – Program System Thư mục hệ thống
Application Data Thư mục của Application Data
CommonApplicationData Thư mục của Common Application
Data LocalApplicationData Thư mục trong local application data
Trang 44string proFiles =
Environment.GetFolderPath(Environment.SpecialFolder ProgramFiles);
Console.WriteLine(proFiles);
Trang 45TẬP TIN
o Thông tin thư mục: lớp Directory
VD: Liệt kê các file trong thư mục
string [] files = Directory.GetFiles( @"D:\Data" );
foreach (var f in files)
Trang 46var subFd = myFolder.GetDirectories();
foreach (var s in subFd) {
Console.WriteLine(s);
s.Delete();
}
Trang 47TẬP TIN
o Thông tin thư mục: lớp Directory
VD: Liệt kê các file trong thư mục
string [] files = Directory.GetFiles( @"D:\Data" );
foreach (var f in files)
Console.WriteLine(f);
Trang 48o Lớp FileInfo thì phải tạo thể hiện của lớp này khi dùng
Trang 49Copy() Sao chép file tới đường dẫn nguồn
Create() Tạo file
Delete() Xóa file
Exists() Trả về giá trị Boolean để xác định file có tồn tại
không
GetAttributes() Trả về một đối tượng của kiểu
Trang 50TẬP TIN
o System.IO.File
GetLastAccessTime() Trả về một đối tượng kiểu DateTime – thời
gian truy cập lần sau cùng của file GetLastWriteTime() Trả về một đối tượng kiểu DateTime – thời
gian của lần đưa nội dung vào file Move() Chuyển file tới đường dẫn xác định
Open() Mở file và trả về đối tượng
System.IO.FileStream cho file OpenRead() Mở file để đọc dữ liệu và trả về một đối
tượng System.IO.FileStream chỉ đọc cho file
Trang 51TẬP TIN
o System.IO.File
OpenWrite() Mở file để viết nội dung và trả về một đối tượng
System.IO.FileStream đọc/viết cho file SetAttributes() Chấp nhận một đối tượng của
System.IO.FileAttributes mà chứa các thông tin thuộc tính của file.
GetCreationTime() Trả về một đối tượng kiểu DateTime – ngày
tháng tạo file
Trang 52TẬP TIN
o System.IO.FileInfo
o FileInfo cung cấp một số chi tiết về tập tin đã có trên ổ cứng của bạn (kích thước, thuộc tính, thời gian được tạo ra) cũng như các trợ giúp trong
việc tạo ra hoặc xóa bỏ các tập tin mới
CreationTime Nhận hoặc thiết lập thời gian tạo file
Directory Trả về một đối tượng DirectoryInfo – thể hiện
thư mục cha của file DirectoryName Trả về tên thư mục cha của file
Exists Trả về giá trị Boolean – file đã tồn tại chưa
Trang 53TẬP TIN
o System.IO.FileInfo
LastAccessTime Trả về một đối tượng DataTime – thể
hiện thời gian của lần viết nội dung sau cùng vào file
Length Trả về kích thước của file
CopyTo() Sao chép file tới nơi khác
Create() Tạo file
Delete() Xóa file
Trang 54System.IO.FileStream OpenText() Mở file và trả về một đối tượng
System.IO.StreamReader với mã UTF8 từ một file đã tồn tại
Extension Trả về phần mở rộng của file
Trả về đường dẫn đầy đủ của file
Trang 55TẬP TIN
o Đọc ghi file text bằng
StreamReader/Writer
sử dụng để đọc và ghi dữ liệu vào các file text (tập tin văn bản)
Trang 56TẬP TIN
Đọc file text bằng StreamReader
nội dung file text (tập tin văn bản)
Các phương thức:
Trang 59TẬP TIN
Ghi file text bằng StreamWriter
nội dung file text (tập tin văn bản)
Các phương thức:
Trang 60str.Close();