ậ
L p trình C Sharp (C #)
ấ ộ G V. Bùi T n L c – btloc@ fit.hcm uns.edu.vn
ươ
ề ề ề
ứ Ph ng th c K hai báo ph ng th c (hàm ) ứ ươ Truy n tham s d ng ố ạ in (ø) Truy n tham s d ng ố ạ out Truy n tham s d ng ố ạ ref
ươ
ứ
Khai báo ph ng th c
ứ
ươ
[m odifiers] return_type M ethodN am e([param eters]) { // Thân ph ng th c } V í d :ụ public static void X uat(StrH ocSinh hs) { Console.W rite("M a so: {0}. H o ten: {1}", hs.M aSo, hs.H oTen); //Cau lenh xuat hoc sinh }
ạ
ị ủ
ỉ
ố không thay iđổ
ả giá tr c a tham s
ị ủ
ứ ươ Ph ng th c d ng “in” Thân ph ng th c ươ ứ ch tham kh o ố giá tr c a tham s
ọ
V í d :ụ public static void X uat(StrH ocSinh hs) { Console.W rite("M a so: {0}. H o ten: {1}", hs.M aSo, hs.H oTen); //Cau lenh xuat hoc sinh } G i hàm trong hàm M ain: X uat(hs);
ạ
ở ạ
ấ
ố ướ
ị ủ
ứ ươ Ph ng th c d ng “out” Thân ph ng th c ươ
ứ c p phát (kh i t o) giá tr c a tham s tr c khi ỏ
ố
ị ủ
ọ
đổ . ử ụ s d ng. Ra kh i hàm giá tr c a tham s thay i V í d :ụ public static void N hap(out StrH ocSinh hs) { hs = new StrH ocSinh(); //Cau lenh nhap hoc sinh } G i trong hàm M ain: N hap(out hs);
đổ
ạ ố ẽ
ọ
ứ ươ Ph ng th c d ng “ref” Ra kh i hàm giá tr c a tham s s thay i ị ủ ỏ V í d :ụ public static void TinhD iem TrungBinh(ref StrH ocSinh hs) { hs.D TB = (hs.Toan+ hs.Van)/2; } G i trong hàm M ain: TinhD iem TrungBinh(ref hs);
ả
Struct Struct là ki u Value Type không ph i là Reference Type ể
ể ừ
ầ ử ụ => có th không c n s d ng t khóa new. ể đị ươ ứ ố ĩ
Trong Struct có th nh ngh a các ph ng th c (gi ng
Class).
ấ ộ
Trong Struct, trình biên d ch luôn luôn cung c p m t ị ố ặ đị constructor không tham s m c nh, và không cho phép thay thế.
ỗ ợ ừ ế
Struct không h tr th a k .
Struct
struct StrH ocSinh { public int M aSo; public string H oTen; public double Toan; public double Van; public double D TB; public StrH ocSinh(int m s, string ht, double t, double v) { M aSo = m s; H oTen = ht; Toan = t; Van = v; D TB = (t+ v)/2; } }
ề ề
ề ề
ả ả ả ả
M ngả M ng 1 chi u M ng 2 chi u M ng nhi u chi u M ng Jagged A rray
ề
ể ố
ị
ầ ử đầ ầ ử ị
ả M ng 1 chi u Cú pháp: type[ ] arraynam e; V í d :ụ ả int[] m yIntegers; // m ng ki u s nguyên integers = new int[32]; integers[0] = 35;// ph n t u tiên có giá tr 35 integers[31] = 432;// ph n t 32 có giá tr 432 string[] m yA rray = {"first elem ent", "second elem ent", "third
elem ent"};
ả
ề
ấ
ắ ế
Đả ả
ớ ệ Làm vi c v i m ng 1 chi u L y kích th c m ng: ả ướ int arrayLength = m yIntegers.Length; S p x p m ng s nguyên: ố ả A rray.Sort(m yIntegers); o ng c m ng: ượ A rray.Reverse(m yA rray); D uy t m ng: ả ệ
ề
ả M ng 2 chi u Cú pháp: type[,] arraynam e; V í d :ụ int[,] m yRectA rray = new int[2,3]; int[,] m yRectA rray = new int[,]{ {1,2},{3,4},{5,6},{7,8}}; //
ả ộ m ng 4 hàng 2 c t
string[,] beatleN am e = { {"Lennon","John"},
{"M cCartney","Paul"}, {"H arrison","G eorge"}, {"Starkey","Richard"} };
ớ
ả
ề
ả
ệ Làm vi c v i m ng 2 chi u D uy t m ng: ệ double [, ] m atrix = new double[10, 10]; for (int i = 0; i < 10; i++) {
for (int j=0; j < 10; j++) m atrix[i, j] = 4;
}
ề
ề ả M ng nhi u chi u V í d :ụ string[,,] m y3D A rray;
ủ ề ề ạ
M ng jagged M t lo i th 2 c a m ng nhi u chi u trong C# là Jagged ả ứ
ả ộ array. V í d :ụ int[][] a = new int[3][]; a[0] = new int[4]; a[1] = new int[3]; a[2] = new int[1];
ớ
ệ
ở ạ ậ
Làm vi c v i Jagged Array K h i t o m a tr n n*m Jagged A rray: 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;
}
}
ố
Bài t pậ N hóm bài t p ch có kh i hàm M ain: ỉ
ậ Các bài t p v m ng ậ ề ả ố ậ ự đị ể ĩ
N hóm bài t p có: kh i hàm M ain, hàm t nh ngh a, ki u
ướ đơ
ĩ ữ ệ đị d li u nh ngh a (struct) Các bài t p l p trình h ng n th ể ậ ậ Các bài t p v m ng ậ ề ả