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[ ] array­nam 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[,] array­nam 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 ậ ề ả