Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 145 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
145
Dung lượng
1,1 MB
Nội dung
Chương Cơ Bản Ngôn ngữ C# TRẦN MINH THÁI Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn Cập nhật: 05 tháng 10 năm 2012 Nội dung #2 Khái niệm lập trình Nền tảng NET (.NET Framework) Cơ ngôn ngữ C# Phương Thức Tham Số Thao Tác Trên Console Mảng – Chuỗi – File Lập trình gì? #3 Máy tính dùng để giải loạt toán Mỗi tốn có cách giải khác dựa vào thuật giải Lập trình viên thể thuật giải theo ngơn ngữ lập trình cụ thể Lập trình gì? #4 Máy tính hiểu ngơn ngữ máy, cần phải có giai đoạn chuyển ngơn ngữ lập trình sang ngơn ngữ máy thơng qua trình biên dịch ngơn ngữ lập trình NET Framework #5 Framework tập hợp thư viện để hỗ trợ cho người lập trình Mỗi Framework tạo có kiến trúc khác LTV phải tuân theo kiến trúc NET Framework thư viện tài nguyên Microsoft, hỗ trợ cho lập trình viên nhiều yêu cầu khác NET Framework #6 .NET Framework #7 .NET Framework #8 Các ngôn ngữ : C#, VB.Net, J#, F#, VC++… Công cụ phát triển Visual Studio Lớp đặc tả ngôn ngữ dùng chung (CLS) Các thư viện đê phát triển ứng dụng Bộ thực thi ngôn ngữ dùng chung (CLR) .NET Framework #9 Chương trình biên dịch thành ngơn ngữ trung gian (MSIL - Microsoft Intermediate Language), sau chúng CLR thực thi Common Language Runtime - CLR, tảng hướng đối tượng cho phát triển ứng dụng Windows Web mà ngơn ngữ chia sẻ sử dụng Bộ thư viện Framework Class Library - FCL NET Framework #10 Common Language Runtime - CLR, tảng hướng đối tượng cho phát triển ứng dụng Windows Web mà ngơn ngữ chia sẻ sử dụng Bộ thư viện Framework Class Library - FCL File Binary #132 Ghi: Đối tượng BinaryWriter Phương thức: Write(giá trị) Đọc: Đối tượng BinaryReader Phương thức: ReadByte() ReadChar() ReadInt32() ReadString() ReadDouble() 132 File Binary – Ví dụ static void TaoFile(string tenfile) #133 { FileStream f = new FileStream(tenfile, FileMode.Create, FileAccess.Write, FileShare.Write); BinaryWriter bw = new BinaryWriter(f); byte so = 140; string str = "This is a test"; float sothuc = 6.542f; bw.Write(so); bw.Write(str); bw.Write(sothuc); f.Close(); } 133 File Binary – Ví dụ static void DocFile(string tenfile) { #134 FileStream f = new FileStream(tenfile, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryReader br = new BinaryReader(f); byte so; string str; float sothuc; so = br.ReadByte(); str = br.ReadString(); sothuc = br.ReadSingle(); Console.WriteLine("{0}\t{1}\t{2}", so, str, sothuc); f.Close(); } public static void Main() { string tenfile = @"d:\test.bin"; TaoFile(tenfile); Kết Du lieu doc tu file: 140 This is a test 6.542 Console.WriteLine("Du lieu doc tu file:"); DocFile(tenfile); } 134 Exception (biệt lệ) – Khái niệm #135 Là lỗi chạy chương trình, thơng thường xãy người dùng nhập liệu không phù hợp Xử lý biệt lệ tránh chương trình kết thúc chừng trình thực thi chương trình 135 Exception (tt) – Ví dụ #136 Xét chương trình: Nhập vào số ngun a, tính bậc a int a; double can; Console.Write("Nhap vao so a: "); a = int.Parse(Console.ReadLine()); can = Math.Sqrt((double)a); Console.WriteLine(“Ket qua = " + can); 136 Exception (tt) – Ví dụ #137 Giả sử người dùng nhập ký tự ‘k’ thay nhập số ngun chương trình thơng báo lỗi sau kết thúc Unhandled Exception: System.FormatException: Input string was not in a correct format 137 Một số Exception thường gặp #138 Exception FormatException OverflowException OutOfMemoryException DivideByZeroException IndexOutOfRangeException Ý nghĩa Sai định dạng liệu Miền giá trị không phù hợp Lỗi cấp phát nhớ Lỗi chia cho Truy cập phần tử mảng 138 Bắt Exception - Mục đích #139 Cho phép sửa chữa lỗi sai trình nhập Cho phép chương trình tiếp tục thực thi lỗi không nghiêm trọng gây ảnh hưởng đến chương trình Tạo thân thiện cho người dùng: Những thông báo lỗi dễ hiểu 139 Bắt Exception – Cú pháp try #140 { Các câu lệnh gây biệt lệ } catch (biệt lệ 1) { Các câu lệnh xử lý biệt lệ } … catch (biệt lệ n) { Các câu lệnh xử lý biệt lệ n } 140 Bắt Exception – Ví dụ byte k = 0; #141 NHAPLAI: try { Console.Write("Nhap so nguyen duong byte [0 255]: "); k = byte.Parse(Console.ReadLine()); } catch (OverflowException) { Console.WriteLine("Gia tri nhap ngoai mien gia tri, nhap lai!"); goto NHAPLAI; } catch (FormatException) { Console.WriteLine("Gia tri nhap sai kieu du lieu, nhap lai!"); goto NHAPLAI; } Console.WriteLine("Da nhap cong, gia tri k = " + k); 141 Bắt Exception – Ví dụ #142 >Biệt lệ catch để trống muốn xử lý lỗi chung chung byte k = 0; NHAPLAI: try { Console.Write("Nhap so nguyen duong byte [0 255]: "); k = byte.Parse(Console.ReadLine()); } catch { Console.WriteLine("Nhap khong hop le, nhap lai!"); goto NHAPLAI; } 142 Console.WriteLine("Da nhap cong, gia tri k = " + k); Thread (Tiểu trình) System.Threading #143 Cho phép chương trình lúc thực nhiều tác vụ Tạo Thread Thread = new Thread(TênPhươngThức); Thực thi Thread .Start(); 143 Thread – Ví dụ #144 using System.Threading; const int stop = 1000; static void Ham1() { for (int i = 0; i < 10; i++) { Console.Write("1"); Thread.Sleep(stop); } } static void Ham2() { for (int i = 0; i < 10; i++) { Console.Write("2"); Thread.Sleep(stop); } } 144 Thread – Ví dụ #145 static void Main(string[] args) { Thread t1 = new Thread(Ham1); Thread t2 = new Thread(Ham2); t1.Start(); t2.Start(); } 145 BÀI TẬP #146 Viết chương trình cho dịng chữ rơi ký tự xuống phía hình Viết chương trình hiển thị hai dịng chữ: dịng chữ phía chạy từ trái sang phải dòng chữ phía chạy từ phải sang trái Hai dịng chữ chạy lúc ... biên dịch tập tin chứa ngôn ngữ C# thường file cs project thành tập tin chạy chương trình exe C? ? c? ?ch biên dịch : Tại c? ??a sổ cmd, gõ : csc.exe tenfile.cs Nhấn Build / Compile (ho? ?c Build... ChuNhat}; Hai = 1; Ba = 2; … ; Sau =10 ; Bay =11 ;ChuNhat = 12 Struct (kiểu c? ??u tr? ?c) # 41 Struct dùng để nhóm liệu liên quan đến đối tượng Khai báo : struct { Danh sách thu? ?c tính; }... Biên dịch project Compile & chạy chương trình #19 Chạy chương trình Sử dụng file tenfile.exe thư m? ?c Bin\Debug Ho? ?c click Debug\ Start (Ctrl + F5) Kết #20 Từ khoá – Keywords # 21 abstract add*