1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu GIỚI THIỆU C# (tt) ppt

38 362 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Introduction to C# (Part 2)
Người hướng dẫn PT. Phạm Anh Phương
Trường học University of Information Technology - Ho Chi Minh City University of Technology and Education
Chuyên ngành Information Technology
Thể loại Lecture Notes
Thành phố Ho Chi Minh City
Định dạng
Số trang 38
Dung lượng 279,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệ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ý... Giới thiệu lớp St

Trang 1

GIỚI THIỆU C# (tt)

GV: Phạm Anh PhươngEmail:

paphuong@fit.hcmuns.edu.vn

Trang 2

Chủ đề

 Value Type & Reference Type

 Boxing & 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)

Trang 3

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;

Trang 4

 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

Trang 5

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

Trang 6

 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

Trang 7

Giới thiệ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”;

Trang 8

Giới thiệu lớp String

Các hàm và property

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

Trang 9

Giới thiệu lớp String

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)

Trang 10

Ví dụ 1 : In ra từng kí tự trong chuỗi string str = “Hello World”;

string str3 = (string) str1.Clone();

Giới thiệu lớp String

Trang 11

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[]{‘@’, ‘.’))

Trang 12

Ví dụ 5: Xóa chuỗi kí tự

string str = “abc -def”;

Console.WriteLine("1/ {0}", s)

Console.WriteLine("2/ {0}", s.Remove(3)) Console.WriteLine("3/ {0}", s.Remove(3, 3))

Trang 13

Giới thiệ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ử <>,<ONE>,<>,<TWO>,<>

arr1 chứa 2 phần tử <ONE>, <TWO>

Trang 14

Giới thiệu lớp String

Ví dụ 7: Thay thế chuỗi

string str = “hello world”;

string res = str.Replace(“world”, “Lan”); Kết quả:

res có kết quả là “hello Lan”

Ví dụ 8: Lấy chuỗi con

string str = “hello world”;

string res = str.SubString(0, 2);

Kết quả:

res có kết quả là “he”

Trang 15

Giới thiệ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”

Trang 16

Giới thiệu lớp StringBuilder

 Namespace: System.Text

 Khi thao tác trên chuỗi có sử dụng thường xuyên các hàm Replace, Insert, Append thì ta nên sử dụng

StringBuilder thay vì dùng string để tăng tốc độ xử lý

 Các hàm phổ biến: Replace, Insert, Append

Trang 17

Giới thiệ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”

Trang 18

Giới thiệu lớp ArrayList

ArrayList dsHS = new ArrayList();

dsHS.Add (new CHocSinh(“Lan”));

dsHS.Add (new CHocSinh(“Diep”));

Trang 19

Giới thiệu lớp ArrayList

Các hàm và property

Count Đếm số phần tử trong mảng

Obect <bien>[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 1 đối tượng trong mảng

Clear() Xóa tất cả các phần tử trong mảng

Contains(Object) Kiểm tra đối tượng tồn tại trong mảng

Int IndexOf(object) Trả về chỉ số vị trí object tìm thấy Nếu tìm

thấy, trả về vị trí; ngược lại trả về -1 Insert(int vitri, object) Chèn 1 đối tượng vào 1 vị trí trong mảng RemoveAt(int vitri) Xóa phần tự tại vị trí cho trước

ToArray(Type) Copy sang 1 mảng mới Array

Sort Thực hiện sắp xếp

Trang 20

Giới thiệu lớp ArrayList

Ví dụ 1: Thêm và lấy phần tử dạng Value TypeArrayList dsDiem = new ArrayList();

Trang 21

Giới thiệu lớp ArrayList

Ví dụ 2: Thêm và lấy phần tử dạng Reference Type

ArrayList dsPhanSo = new ArrayList();

CPhanSo ps = (CPhanSo) dsPhanSo [j];

Console.WriteLine (ps.LayTu() + “/” + ps.LayMau());}

Trang 22

Giới thiệu lớp ArrayList

dsDiem.RemoveAt(1); //Xóa phần tử tại vị trí 1

dsPhanSo.Clear(); //Xóa tất cả phần tử trong mảng

int[] arrDiem = (int[]) (dsDiem.ToArray (typeof(string)));

//Trả về mảng int

Trang 25

Ví dụ1:

MessageBox.Show("Hello World",

"Thi Nghiem", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

Trang 26

Ví dụ 2: Nhận kết quả chọn YES/NO từ người dùngDialogResult res = MessageBox.Show(“2 lớn hơn 1",

"Thi Nghiem", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

if (res == DialogResult.Yes)

Console.Write("Chọn YES");

else

Console.Write("Chọn NO");

Trang 27

 Dialog này dùng để chọn file đường dẫn mà người dùng muốn mở

 Các hàm và thuộc tính

Tên Ý nghĩa ShowDialog() Hiển thị dialog cho người dùng chọn file

OpenFile() Mở file được chọn bởi người dùng với

quyền read-only.

FileName Cho biết tên file được chọn

Filter Bộ lọc danh sách file (file extension).

Multiselect Cho phép chọn 1 hoặc nhiều file.

FileNames Danh sách file được chọn

Trang 28

string fileName = openFileDialog1.FileName;

}

Trang 30

 Đặ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

Trang 31

 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

Trang 32

Thao tác file

 Namespace: System.IO

 Thư viện:

StreamReaderStreamWritterStringReaderStringWritterFile

 Có 2 dạng file : Văn bản (Text) và Binary

Trang 33

Thao tác file

Kiểm tra file tồn tại:

File.Exists (string path)

Trang 34

//Đọc và xuất từng dòng cho đến khi hết file.

while ((line = sr.ReadLine()) != null) //sr.ReadToEnd() {

Console.WriteLine(line);

} }

Trang 35

Ghi file văn bản

Ví dụ 2: Ghi file văn bản

try {

using (StreamWriter sw = new StreamWriter("TestFile.txt")) {

sw.Write("This is the ");

sw.WriteLine("header for the file.");

sw.Write("The date is: ");

Trang 36

Ghi file binary (nhị phân)

Ví dụ 3: Đọc file binary

FileStream t = new FileStream("D:\\1.data",

FileMode.CreateNew);

BinaryWriter bw = new BinaryWriter(t);

CHocSinh hs = new CHocSinh("Lan", 10);

CHocSinh hs1 = new CHocSinh("Diep", 30);

Trang 37

Đọc file binary (nhị phân)

int tuoi = br.ReadInt32();

string hoten = br.ReadString();

CHocSinh hs = new CHocSinh(hoten, tuoi);

Trang 38

HẾT

Ngày đăng: 22/12/2013, 18:17

TỪ KHÓA LIÊN QUAN

w