Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
279,5 KB
Nội dung
GIỚITHIỆUC#(tt) GV: Phạm Anh Phương Email: paphuong@fit.hcmuns.edu.vn Chủ đề Value Type & Reference Type Boxing & Unboxing Giớithiệu lớp String Giớithiệu lớp StringBuilder Giớithiệu lớp ArrayList Các dạng Dialog Stream (Luồng dữ liệu) Value Type and Reference Type Value Type: Là những kiểu dữ liệu cơ sở được map trực tiếp vào FCL như int32 được map vào System.Int32 hoặc double được map vào System.double Giá trị Value Type được lưu trữ trên stack và lớp được kế thừa từ System.ValueType Ví dụ: Int x = 10; Double y = 30.2; System.ValueType a = 30; Reference Type Biến được cấp phát trên vùng nhớ Heap. Tất cả các lớp trong thư viện .NET hoặc do người dùng tạo ra đều là Reference Type. Dùng toán tử new để cấp phát vùng nhớ. Ví dụ: Object a = new ArrayList(); CHocSinh hs = new CHocSinh(); Value Type and Reference Type Boxing: Ép từ Value Type to Reference Type Ví dụ: Int32 x = 10; object o = x ; // Implicit boxing Console.WriteLine("The Object o = {0}",o); // prints out 10 //----------------------------------------------------------- Int32 x = 10; object o = (object) x; // Explicit Boxing Console.WriteLine("The object o = {0}",o); // prints out 10 Boxing & Unboxing Unboxing: Ép từ Reference Type sang Value Type Ví dụ: Int32 x = 5; // declaring Int32 Int64 y = 0; // declaring Int64 double object o = x; // Implicit Boxing y = (Int64)o; // Explicit boxing to double Console.WriteLine("y={0}",y); Boxing & Unboxing Giớithiệu lớp String Namespace: System Dùng để thể hiện dạng chuỗi trong .NET Bất cứ thao tác nào liên quan đến chuỗi ta sẽ dùng lớp string để lưu trữ và xử lý. Ví dụ: string str = “Hello World”; Giớithiệu lớp String Các hàm và property Tên Ý nghĩa Length Lấy chiều dài chuỗi Char <bien>[index] Truy xuất đến kí tự thứ index. Index trong chuỗi được đánh thứ tự từ 0. <bien> = <bien> Copy <bien> = (string)<bien>.Clone() Copy Bool <bien>.Contains(<chuoi>) Kiểm tra tồn tại chuỗi lấy từ tham số có trong chuỗi hiện thời. Int IndexOf(<chuoi>) Trả về chỉ số vị trí chuỗi tìm thấy. Nếu tìm thấy, trả về vị trí; ngược lại trả về -1 Bool IndexOfAny (char[]) Kiểm tra sự tồn tại của bất kì phần tử trong mảng kí tự tham số. Giớithiệu lớp String Tên Ý nghĩa Remove(int vitri, int sokitu) Xóa số kí tự từ vị trí xác định trong chuỗi. Replace(<chuoi>) Thay thế chuỗi Split Cắt chuỗi dựa trên kí tự cho trước. SubString() Lấy chuỗi con (Sinh viên dùng thư viện MSDN để tra cứu thêm các hàm khác cũng như xem ví dụ mẫu của từng hàm) Ví dụ 1 : In ra từng kí tự trong chuỗi string str = “Hello World”; for(int j = 0; j < str.Length; j ++) Console.WriteLine (str[j]); Ví dụ 2 : Copy chuỗi string str1 = “Hello World”; string str2 = str1; string str3 = (string) str1.Clone(); Giớithiệu lớp String [...]... phổ biến: Replace, Insert, Append Giớithiệu lớp StringBuilder Ví dụ : Thay thế chuỗi StringBuilder sb = new StringBuilder(“Hello”); sb.Replace (“e”, “aaa”); //sb = “Haaallo” sb.Insert(1,”KKK”); //sb = “HaKKKaallo” string res = sb.ToString(); //res = “Haaallo” Giớithiệu lớp ArrayList Namespace: System.Collections Dùng để thể hiện mảng 1 chiều của bất kì lọai dữ liệu nào vì ArrayList thao tác trên... Index: 012345678 1) abc -def 2) abc 3) abcdef Giớithiệu lớp String Ví dụ 6: Tách chuỗi string str = “,ONE, ,TWO,,”; string[] sep = new string[]{“,”}; string arr[] = str.Split(sep, StringSplitOptions.None); string arr1[] = str.Split(sep, StringSplitOptions.RemoveEmptyEntries); Kết quả: arr chứa 3 phần tử ,,,, arr1 chứa 2 phần tử , Giớithiệu lớp String Ví dụ 7: Thay thế chuỗi... string res = str.SubString(0, 2); Kết quả: res có kết quả là “he” Giớithiệu lớp String Ví dụ 7: Gán đường dẫn string str = “D:\\Thu muc 1\\Thu muc 2”; Hoặc string str = @”D:\Thu muc 1\Thu muc 2”; Ví dụ 8: Khởi tạo định dạng chuỗi int x = 10, y = 20; string str = string.Format(“{0} + {1} = {2}”,x,y, x+ y); //str = “10 + 20 = 30” Giớithiệu lớp StringBuilder Namespace: System.Text Khi thao tác trên.. .Giới thiệu lớp String Ví dụ 3: Kiểm tra tồn tại 1 chuỗi con string str = “Hello World”; int vitri = str.IndexOf (“World”); // vitri = 6 int vitri = str.IndexOf (“Test”); // vitri = -1 : do không tìm thấy “Test” Ví dụ 4: Kiểm tra tồn tại 1 kí tự bất kì string email = “helloworld@yahoo.com”; if (email.IndexOfAny (new char[]{‘@’, ‘.’)) MessageBox.Show (“Có”); else MessageBox.Show (“Không”); Giới thiệu. .. cho trước ToArray(Type) Copy sang 1 mảng mới Array Sort Thực hiện sắp xếp Giới thiệu lớp ArrayList Ví dụ 1: Thêm và lấy phần tử dạng Value Type ArrayList dsDiem = new ArrayList(); dsDiem.Add(1); dsDiem.Add(2); dsDiem.Add(3); for (int j = 0; j < dsDiem.Count; j ++) { int item = (int) dsDiem[j]; Console.WriteLine (item); } Giới thiệu lớp ArrayList Ví dụ 2: Thêm và lấy phần tử dạng Reference Type ArrayList... Đặt tên file muốn lưu và lấy đường dẫn của file này Các hàm và property: Tương tự OpenFileDialog Stream Namespace: System.IO Khi muốn đọc hay ghi dữ liệu vào/ra tập tin hay muốn truyền dữ liệu từ máy này sang máy khác, ta phải tổ chức dữ liệu theo cấu trúc tuần tự các byte hay các gói tin Trong phạm vi bài này, ta sẽ dùng Stream để thao tác đọc/ghi file Thao tác file Namespace: System.IO... dsPhanSo.Add(new CPhanSo(3,4)); dsPhanSo.Add(new CPhanSo(5,6)); for (int j = 0; j < dsPhanSo.Count; j ++) { CPhanSo ps = (CPhanSo) dsPhanSo [j]; Console.WriteLine (ps.LayTu() + “/” + ps.LayMau()); } Giới thiệu lớp ArrayList Ví dụ 3: ArrayList dsDiem = new ArrayList(); dsDiem.Add(1); dsDiem.Add(2); int vitri = dsDiem.IndexOf (1); //Tìm vị trí 1 trong mảng dsDiem.Insert(1,10); //dsDiem = {1,10,2} dsDiem.RemoveAt(1);... ArrayList thao tác trên lớp cơ sở Object Ví dụ: ArrayList arr = new ArrayList(); arr.Add(1); arr.Add(2); ArrayList dsHS = new ArrayList(); dsHS.Add (new CHocSinh(“Lan”)); dsHS.Add (new CHocSinh(“Diep”)); Giới thiệu lớp ArrayList Các hàm và property Tên Ý nghĩa Count Đếm số phần tử trong mảng Obect [index] Truy xuất đến đối tượng thứ index Index trong chuỗi được đánh thứ tự từ 0 Add(Object) Thêm vào . GIỚI THIỆU C# (tt) GV: Phạm Anh Phương Email: paphuong@fit.hcmuns.edu.vn Chủ đề Value Type & Reference Type Boxing & Unboxing Giới thiệu. Unboxing Giới thiệu lớp String Giới thiệu lớp StringBuilder Giới thiệu lớp ArrayList Các dạng Dialog Stream (Luồng dữ liệu) Value Type and Reference