01_ngon_ngu_c#_phan_2

31
L p trình trên môi tr ng Windows ườ Ngôn ng C# - Ph n 2 Tr n Duy Hoàng [email protected]

Upload: duc-linh-tran

Post on 14-Apr-2015

17 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 01_Ngon_ngu_C#_Phan_2

L p trình trên môi tr ng Windowsậ ườ

Ngôn ng C# - Ph n 2 ữ ầ

Tr n Duy Hoàngầ[email protected]

Page 2: 01_Ngon_ngu_C#_Phan_2

M ng 1 chi uả ề Cú pháp:

type[ ] array_name;

Ví d :ụint[] arrInt; // m ng ki u s nguyênả ể ốarrInt = new int[32];

arrInt[0] = 35; // ph n t đ u tiên có giá tr 35ầ ử ầ ịstring[] arrStr = {"H ng", "Lan", "Cúc"};ồ

Page 3: 01_Ngon_ngu_C#_Phan_2

M ng 1 chi uả ề L y kích th c m ngấ ướ ả

int arrayLength = myIntegers.Length;

S p x p tăng d nắ ế ầArray.Sort(myIntegers);

S p x p gi m d nắ ế ả ầArray.Reverse(myIntegers);

Duy t m ngệ ảint a = myIntegers[2];

Page 4: 01_Ngon_ngu_C#_Phan_2

M ng 1 chi uả ề Ví d : tính t ng m ng s nguyênụ ảổ ố

int[] mang = {1, 5, 2, 4, 3};● Dùng vòng l p for ?ặ

● Dùng vòng l p foreach ?ặ

Page 5: 01_Ngon_ngu_C#_Phan_2

M ng 2 chi uả ề Cú pháp:

type[,] array-name;

Ví d :ụint[,] myRectArray = new int[2,3];

int[,] myRectArray = new int[,] { {1,2}, {3,4}, {5,6},{7,8} }; //m ng 4 hàng 2 c tả ộ

Duy t m ngệ ảdouble [, ] matrix = new double[10, 10];

matrix[2,2] = 4;

Page 6: 01_Ngon_ngu_C#_Phan_2

M ng Jaggedả M t d ng m ng nhi u chi u trong C#ộ ạ ả ề ề Ví d :ụ

int[][] a = new int[3][];

a[0] = new int[4];

a[1] = new int[3];

a[2] = new int[1];

Page 7: 01_Ngon_ngu_C#_Phan_2

M ng Jaggedả Kh i t o ma tr n n*m Jagged Array:ở ạ ậ

int[][] a = new int[n][];

for(int i = 0; i < n; i++)

{

a[i] = new int[m];

for (int j = 0; j < m; j++)

{

a[i][j] = i*n +j;

}

}

Page 8: 01_Ngon_ngu_C#_Phan_2

L p ký t - charớ ự 1 s hàm ki m tra ký tố ể ự

● Bool char.IsDigit(char c) : có ph i là ký sả ố● Bool char.IsLetter(char c) : có ph i là ký tả ự● Bool char.IsLetterOrDigit(char c) : có ph i là ký t ho c ả ự ặ

ký số● Bool char.IsLower(char c) : có ph i là ký t th ngả ự ườ● Bool char.IsUpper(char c) : có ph i là ký t hoaả ự

1 s hàm chuy n đ iố ể ổ● Char char.ToUpper(char c) : tr v ký t hoaả ề ự● Char char.ToLower(char c) : tr v ký t th ngả ề ự ườ

Page 9: 01_Ngon_ngu_C#_Phan_2

L p ký t - charớ ự Ví dụ

string str = "Hello world 1";

bool b1 = char.IsDigit(str[0]); // b1 = false

bool b2 = char.IsDigit(str[12]); // b2 = true

bool b3 = char.IsLetter(str[0]); // b3 = true

bool b4 = char.IsLetter(str[5]); // b4 = ?

bool b5 = char.IsLower(str[0]); // b5 = ?

bool b6 = char.IsUpper(str[0]); // b6 = ?

str[6] = char.ToUpper(str[6]); // str = ?

Page 10: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ M t s hàm thao tác chu iộ ố ỗ

Thành viên Gi i thíchả

Length Chi u dài chu i (s ký t ) ề ỗ ố ự

IndexOf() v trí xu t hi n đ u tiên c a m t chu i con ị ấ ệ ầ ủ ộ ỗtrong chu i ỗ

LastIndexOf() v trí xu t hi n cu i cùng c a m t chu i con ị ấ ệ ố ủ ộ ỗtrong chu i ỗ

Format() Đ nh d ng chu iị ạ ỗ

ToUpper() Tr v chu i ch hoaả ề ỗ ữ

ToLower() Tr v chu i ch th ngả ề ỗ ữ ườ

Replace() thay th chu i con trong chu i b ng m t ế ỗ ỗ ằ ộchu i con khácỗ

Split() C t m t chu i thành nhi u chu i conắ ộ ỗ ề ỗ

SubString() L y m t chu i conấ ộ ỗ

Page 11: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví dụ

string str1 = “Hello world”, str2;

char c = str1[0]; // c='H';

int l = str1.Length; // i = 10

int i = str1.IndexOf(“wo”); // i = 6

str2 = str1.Replace(“w”, “W”); // str2=”Hello World”

str2 = str1.ToLower(); // str2 = “hello world”

str2 = str1.ToUpper(); // str2 = “HELLO WORLD”

Page 12: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d : hàm ki m tra MSSV có 7 ký sụ ể ố

private bool KiemTraMSSV(string mssv) {

// Kiem tra mssv chi co 7 ky tu

if (mssv.Length != 7) return false;

// Kiem tra cac ky tu phai la chu so

for (int i = 0; i < mssv.Length; i++)

{

if (char.IsDigit(mssv[i]) == false) return false;

}

return true;

}

Page 13: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d : hàm ki m tra MSSV có d ng 07K3123, ụ ạể

07K4123 ho c 07DB123 ?ặ

Page 14: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d : hàm ki m tra H và tênụ ọể

● Không có kho ng tr ng tr c và sau tênả ắ ướ● Không có h n 1 kho ng tr ng gi a các tơ ả ắ ữ ừ● Ký t đ u c a các t ph i vi t hoaự ầ ủ ừ ả ế● Vd : “Nguyen Van An” là h p lợ ệ

Page 15: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d Formatụ

// str = “Tong 1 va 2 la 3”;

int a = 1, b = 2, tong = a+b;

string str = “Tong ” + a.ToString() + “ va ” + b.ToString() + “ la “ + tong.ToString();

str = string.Format(“Tong {0} va {1} la {2}”, a, b, tong);

Page 16: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d Format ụ

Xu t câu thongbao = “Nghiem cua phuong trinh 2x + 1 = ấ0 la x=-0.5”

int a = 2;

int b = 1;

int x = -0.5;

string thongbao = ?

// str = string.Format(“Tong {0} va {1} la {2}”, a, b, tong);

Page 17: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d Splitụ

string str = “4,5,8,3,2,6”;

string[] arrStr = str.Split(',');

for (int i=0; i<arrStr.Length;i++)

{

sum += Convert.ToInt32(arrStr[i]);

}

Page 18: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ví d Splitụ

● string str = “10/1234”;

int tuSo = ?

int mauSo = ?

● string str = “0.3,2.4,1.6”

x,y,z = ?

//string str = “4,5,8,3,2,6”;

//string[] arrStr = str.Split(',');

Page 19: 01_Ngon_ngu_C#_Phan_2

L p chu i - Stringớ ỗ Ký t ự @

● string sDuongDan = "C:\\WinNT\\Temp";

string sDuongDan = @"C:\WinNT\Temp"; ● sql = “select TenNhanVien, NgaySinh, DiaChi “;

sql += “ from NhanVien “;

sql += “where GioiTinh = 0”;● sql = @”select TenNhanVien, NgaySinh, DiaChi

from NhanVien

where GioiTinh = 0”;

Page 20: 01_Ngon_ngu_C#_Phan_2

L p m ng ArrayListớ ả M t s thao tác m ngộ ố ả

Thành viên Gi i thíchả

Add() Thêm ph n t vào cu i m ngầ ử ố ả

Toán t []ử L y ph n t trong m ng ấ ầ ử ả

Insert() Chèn ph n t vào v trí đã ch n ầ ử ị ọ

Count S l ng ph n tố ượ ầ ử

Page 21: 01_Ngon_ngu_C#_Phan_2

L p m ng ArrayListớ ả Ví dụ

using System.Collections;

ArrayList mang = new ArrayList();

mang.Add(1);

mang.Add(2);

mang.Add(3);

mang.Add(4);

// mang = {1, 2, 3, 4}

Page 22: 01_Ngon_ngu_C#_Phan_2

L p m ng ArrayListớ ả Ví d : tính t ng m ngụ ảổ

int tong = 0;

for (int i=0; i<mang.Count; i++) {

int so = (int)mang[i];

tong = tong + so;

}

● Dùng foreach ?

Page 23: 01_Ngon_ngu_C#_Phan_2

L p m ng ArrayListớ ả Ví d : tìm giá tr l n nh t, nh nh tụ ị ỏớ ấ ấ

Page 24: 01_Ngon_ngu_C#_Phan_2

L p trình trên môi tr ng Windowsậ ườ

Môi tr ng VS2005 ườ

Tr n Duy Hoàngầ[email protected]

Page 25: 01_Ngon_ngu_C#_Phan_2

Build, Run, Debug

Build :● Đ phát hi n xem có b l i cú phápể ệ ị ỗ● Menu → Build → Build Solution● Trong View Solution, nh n chu t ph i lên solution, ch n ấ ộ ả ọ

Build Solution● T ng t , n u b n mu n build Project nào thì nh n ươ ự ế ạ ố ấ

chu t ph i lên Project đó và ch n Buildộ ả ọ

Page 26: 01_Ngon_ngu_C#_Phan_2

Build, Run, Debug

Build SolutionBuild Project

Page 27: 01_Ngon_ngu_C#_Phan_2

Build, Run, Debug

Build ● Trong tr ng h p b l i xem Error listườ ợ ị ỗ● Menu → View → Error List● F8 : di chuy n l n l c đ n các l iể ầ ượ ế ỗ

Page 28: 01_Ngon_ngu_C#_Phan_2

Build, Run, Debug

- Ch ng trình báo l i thi u d u ươ ỗ ế ấ ;- Double click vào dòng l i này thì ỗVS s t đ ng nh y đ n dòng ẽ ự ộ ả ếthi u d u ế ấ ;

Page 29: 01_Ngon_ngu_C#_Phan_2

Build, Run, Debug

Run● Ch y không debug : ch ng trình ch y tr c ti p ( Ctrl + ạ ươ ạ ự ế

F5 )● Ch y debug : ch ng trình ch y d a vào các breakpoint ạ ươ ạ ự

( F5 )

Page 30: 01_Ngon_ngu_C#_Phan_2

Build, Run, Debug

Debug● B1 : đ t các breakpoint ( F9 )ặ● B2 : ch yạ

➢ Ch y th ng đ n breakpoint : ạ ẳ ế F5➢ Ch y t ng dòng : ạ ừ F10➢ Ch y vào hàm con : ạ F11

● B3 : xem giá tr bi nị ế➢ Di chuy n chu t đ n tên bi nể ộ ế ế➢ Menu → Debug → Window → Watch1, nh p tên bi nậ ế➢ Chu t ph i lên tên bi n → ch n Add Watchộ ả ế ọ

● D ng debug : Shift + F5ừ

Page 31: 01_Ngon_ngu_C#_Phan_2

Tr n Duy Hoàng - [email protected]ầ02/15/11 31/10

Th o lu nả ậ