You are on page 1of 77

TRNG I HC KHOA HC T NHIN TP.

HCM

TRUNG TM TIN HC

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bi 2: Cc khi nim v nguyn tc c bn ca .NET NET Framework



Tng quan v .NET Framework Cc kiu d liu Bin v hng Cc ton t

- 8 tit 2

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Tng quan v .NET Framework

.NET Framework l thnh phn nn tng cho mi cng pht trin ng g dng g .NET c p .NET Framework c thit k nhm h tr cho cc trnh ng dng v cc service th h k tip Cung cp cc lp i tng (Class) c th gi thi hnh cc chc nng m i tng cung cp Cung cp hn 5000 lp i tng gi thc hin cc loi dch v t h iu hnh

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Tng quan v .NET Framework

Kin trc ca .NET Framework

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Tng quan v .NET Framework

H thng namespace trong .NET Framework

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bi 2: Cc khi nim v nguyn tc c bn ca .NET NET Framework



Tng quan v .NET NET Framework Cc kiu d liu Bin v hng Cc ton t

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Khi nim Cch to v s dng cc kiu d liu Chuyn i gia cc kiu d liu

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Khi nim

Trong cc T ngn ng lp trnh t h cp cao lun l c cc qui i nh v nh ngha d liu trong lp trnh Kiu l khi nim m ch vic nh ngha hnh thi thi, cu trc v gi tr ca d liu, bao gm cch biu din v x l ca d liu Kiu d liu trong .NET c m t chi tit trong mt cu trc gi l Common Type System (CTS)

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Khi nim

Kiu d liu trong t .NET NET c chia hi th thnh h nhi hiu lo l i i:

Kiu gi tr (Value Types) Kiu tham chiu (Reference Types) Kiu do ngi dng nh ngha (User-defined Types) Kiu lit k (Enumerations)

Mi kiu d liu trong .NET l mt i tng, ngha l n c cc thuc tnh v phng thc ring. Mt trong nhng phng thc thng dng nht l Parse v ToString
9

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cch to v s dng cc kiu d liu

C kiu gi Cc i t tr (Value (V l T Types) ) Cc kiu tham chiu (Reference Types)

10

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cc kiu gi tr (Value Types)

Bao gm cc kiu d liu s hc, c ngy gi, kiu lun l, l kiu do ngi dng nh ngha v kiu lit k Cc bin c kiu gi tr l nhng bin cha trc tip d liu ca chng thay v cha mt tham chiu ti d liu c lu tr ti mt ni no trong b nh (memory) Cc instance ca kiu gi tr c lu tr trong mt vng nh c gi l stack, ti thi im vn hnh (runtime) c th to (create), c (read), cp nht (update), v loi b (remove) ( ) chng g mt cch nhanh chng g
11

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cc kiu gi tr (Value Types)

Cc kiu gi tr tng qut:

Cc kiu gi tr c xy dng sn (Built-in types) Cc kiu do ngi dng nh ngha (User-defined (User defined types) Cc kiu lit k (Enumerations)

12

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Kiu gi tr c xy dng sn (Built-in types)

L cc kiu c s do .NET NET Framework cung cp, p cc kiu d liu khc u c xy dng da trn cc kiu d liu c s ny

Tt c cc kiu dng s (numeric types) c xy dng sn u thuc loi kiu gi tr Bng sau lit k cc kiu s thng dng nht:

13

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Kiu/Alias C# System.SByte y y /sbyte y System.Byte/byte System.Short/short System Integer/int System.Integer System.UInteger/uint System.Long/long System.Single/float System.Double/double System.Decimal/decimal

Kch thc Min gi tr (Range) 1 byte y 1 byte 2 bytes 4 bytes 4 bytes 8 bytes 4 bytes 8 bytes 16 bytes -128 127 0 255 -32768 32767 -2147483648 2147483648 2147483647 0 4294967295 -9223372036854775808 9223372036854775807 -3.402823E+38 3.402823E+38 -1.79769313486232E+308 1.79769313486232E+308 1 79769313486232E 308 -79228162514264337593543950335 79228162514264337593543950335

14

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Kiu/Alias C# System.Char/char System.Boolean/bool System.DateTime (Date/date)

Kch thc Min gi tr (Range) 2 bytes y 4 bytes 8 bytes N/A N/A 1/1/0001 12:00:00 AM 12/31/9999 /3 /9999 11:59:59 59 59 PM

Vic s dng alias hon ton tng ng vi cch s dng tn kiu theo cch y , tuy y nhin hu ht cc lp trnh vin s dng alias chng ngn gn hn. Khi gn cc bin kiu gi tr vi nhau, d liu c sao chp t bin ny ti bin kia v c lu tr ti hai v tr khc nhau trn stack Cc kiu gi tr thng c dng trnh by cc gi tr n gin
15

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Kiu do ngi dng nh ngha (User-defined Types)

Kiu do ngi dng nh ngha cn c gi l cc struct. Ging nh cc kiu gi tr khc, cc instance ca cc kiu do ngi dng nh ngha c lu tr trn stack v cha trc tip d liu ca chng struct l mt kiu cu trc hn hp ca nhiu kiu khc nhm mc ch d dng lm vic vi dng d liu quan h struct c cu trc tng t nh class, tuy nhin struct c kiu gi tr cn class c kiu tham chiu.

16

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Thng tin khch thu bao c th c lu tr nh l mt struct

S in thoi H v t tn a ch lin lc

17

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Hc sinh c th c lu tr nh l mt struct

M s H v t tn Ngy sinh G i tnh Gi Tn lp a ch lin lc


18

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Khai bo kiu d liu struct struct t t Nhan_Vien Nh Vi {


public string Ma_so; public string Ho_ten; public date Ngay_sinh; public double He_so_luong; p g;

}
19

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Khai bo bin nhn vin v gn cc gi tr


Nhan_Vien nv; nv.Ma_so = A01 nv.Ho_ten = Hong Th Ngc nv.Ngay_sinh = DateTime.Parse(1/24/1968) nv.He_so_luong = 2.0

20

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cu trc (Structure)

Hin th thng tin nhn vin ra mn hnh


Ma_so.Text = nv1.Ma_so Ho_ten.Text = nv1.Ho_ten Ngay_sinh.Text = nv1.Ngay_sinh He_so_luong.Text = nv1.He_so_luong Gioi_tinh.Text = nv1.Gioi_tinh

21

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Kiu lit k (Enumerations)

Kiu lit k l cc k hiu c cng mt h (c lin quan vi nhau) c cc gi tr c nh. Kiu lit k c dng cung cp mt danh sch chn la cho lp trnh vin s dng

22

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Kiu lit k (Enumerations)

V d:
enum Titles : int { Mr, Ms, Mrs, Dr };

Nu bn to mt instance ca kiu Titles , Visual Studio s hin th mt danh sch cc gi tr c sn gn gi tr cho bin

Titles t = Titles.Dr; Console.WriteLine("{0}.", t); // Displays "Dr."


23

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Kiu lit k (Enumerations)

Lu : khi khai bo kiu lit k ch c th s dng cc kiu s nguyn nh byte, sbyte, short, ushort, int, uint, long hoc ulong.

24

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cch khai bo cc kiu gi tr

Cc kiu gi tr c mt khi to (constructor) ngm nh, do vy bn khng cn phi bao gm trong phn khai bo t kha New nh khi khai bo vi class V d:
bool b = false;

Trong C# mi cu lnh c kt thc bi du ;

25

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cch khai bo cc kiu gi tr

.NET 2.0 cung cp mt kiu mi l kiu Nullable cho php kim tra liu mt bin c gn gi tr hay cha V d:
Nullable<bool> b = null; // C# cho php s dng k hiu th hin nhanh nh sau bool? b = null;

26

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cch khai bo cc kiu gi tr

Mt bin c kiu nullable cho php s dng cc thnh vin HasValue v Value. Bn c th s dng HasValue kim tra liu c hay khng mt gi tr c thit lp V d:
if (b.HasValue) Console.WriteLine("b is {0}.", b.Value); else Console WriteLine("b Console.WriteLine( b is not set. set "); );

27

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cch to v s dng cc kiu d liu

C kiu gi Cc i t tr (Value (V l T Types) ) Cc kiu tham chiu (Reference Types)

28

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cc kiu tham chiu (Reference Types)

Cc kiu tham chiu lu tr a ch d liu ca chng, chng cng c hiu nh l mt con tr (pointer), trn stack. D liu thc s m cc tham chiu a ch tham chiu ti c lu tr trong mt vng b nh c gi l heap Hu ht cc kiu trong .NET Framework l kiu tham chiu. Cc kiu tham chiu cung cp rt nhiu cho tnh linh ng, uyn chuyn, chng mang n kh nng thc thi hon ho khi gi chng ti cc phng thc

29

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cc kiu tham chiu c xy dng sn

Thi im vn hnh (runtime) qun l b nh bng vic s dng heap thng qua mt tin trnh c gi l garbage collection. Garbage collection s khi to b nh theo chu k da theo nhu cu bng cch loi b cc i tng khng cn c tham chiu na.

C khong 2500 kiu tham chiu c xy dng sn trong .NET NET F Framework k (kh (khng c dn xut t System.ValueType) Cc kiu tham chiu thng dng:
30

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

Cc kiu tham chiu c xy dng sn

C kiu tham Cc th chi hiu th ng dng: d


Kiu ngha s dng Kiu tng qut D liu dng Text D liu dng Dynamic text Mng d liu B m (Buffer) cho tp tin, thit b Kim sot h thng v trnh ng dng
31

System.Object System.String System Text StringBuilder System.Text.StringBuilder System.Array System.IO.Stream System.Exception

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S dng string v StringBuilder

V d s dng string:
string s = "this is some text to search"; s = s.Replace("search", p ( , "replace"); p ); Console.WriteLine(s);

Khi c bt k sa i i vi chui ti thi im vn hnh s to nn mt chui mi v b i chui c

32

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S dng string v StringBuilder

on m lnh sau y s cp pht bn chui mi trong b nh:


string s; s = "wombat"; " b t" // " "wombat" b t" s += " kangaroo"; // "wombat kangaroo" s += " wallaby"; // "wombat kangaroo wallaby" s += " koala"; ; // "wombat kangaroo g wallaby y koala" Console.WriteLine(s);

Ch chui sau cng l c mt tham chiu; ba chui kia s c dispose khi cng c thu gom rc lm vic (garbage collection)
33

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S dng string v StringBuilder

Vic ngn nga cc loi chui tm thi ny gip trnh gom rc khng cn thit, ci thin hiu sut hot ng C mt s cch ngn nga cc chui tm thi:

S dng cc phng thc Concat, Join, hay Format ca lp String ghp nhiu item trong mt cu lnh n l S dng lp StringBuilder to cc chui dng dynamic (c th bin i - mutable)

34

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S dng string v StringBuilder

on m lnh sau y gii thch cch s dng StringBuilder


System.Text.StringBuilder sb = new System.Text.StringBuilder(30); sb.Append("wombat"); // Build string. sb.Append(" kangaroo"); sb.Append(" wallaby"); sb.Append(" koala sb.Append( koala"); ); string s = sb.ToString(); // Copy result to string. Console.WriteLine(s);

35

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

Chuyn i ngm nh: C# chp nhn s chuyn kiu ngm nh nu kiu ch c th thch hp vi tt c cc gi tr c th nhn t kiu ngun. V d:
int i = 1; double d = 1.0001; d = i; // S chuyn i c chp nhn.

36

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

Chuyn i tng minh: tt c cc bin trong C# phi c khai bo kiu mt cch r rng, v trnh bin dch kim tra tnh nht q qun v kiu ca biu thc. C th thc hin vic chuyn i kiu tng minh bng cch s dng ton t chuyn kiu (hay p kiu - cast operator) n c dng: operator),
Bin = (kiu cn chuyn i)<biu thc chuyn i>

37

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

V d:
long L; L = 32769; int I = (int) L;

38

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

C ch Boxing v Unboxing: boxing chuyn i mt kiu gi tr ti mt kiu tham chiu, v unboxing chuyn i mt kiu tham chiu ti mt kiu g gi tr. V d:
int i = 123; object o = (object) i; // c ch boxing object j = 123; i t k = (int) int (i t) j; j // c ch h unboxing b i
39

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

S dng ton t as: ton t as cng c dng ging nh p kiu vi mt s lu :

Ton t as phi c s dng vi kiu tham chiu. V d:


int j; object i = "35"; j = i as int ; => on lnh trn s xy ra li do int l kiu gi tr

40

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

S dng ton t as: ton t as cng c dng ging nh p kiu vi mt s lu :

Nu khng th chuyn i kiu, u n s tr v gi tr null. V d:


string j; object bj t i = "35"; "35" j = i as string ; if (j == null) Console.WriteLine("i ( khng g ph p i l chui"); ); else Console.WriteLine("i l chui");
41

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

S dng cc phng thc Convert:

Cc thnh vin public c chia s ca lp System.Convert c s dng g chuy yn i mt kiu d liu c s c th ti kiu d liu c s khc S dng Object Browser xem v tm hiu nhng phng thc chuyn i sn c ( m cng c Object Browser: chn thc n view Object Browser)

42

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

43

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

S dng cc phng thc Convert:

V d 1: chuyn i t kiu s thc sang kiu s nguyn


double d bl S SoThuc Th = 23 23.15; 1 try { int SoNguyen = System.Convert.ToInt32(SoThuc); } catch (System.OverflowException) { S t System.Console.WriteLine("L C l W it Li ("Li d do s cn chuy h n ln hn bin cha kt qu chuyn."); }
44

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

S dng cc phng thc Convert:

V d 2: chuyn i t kiu s thc sang kiu chui


double d bl SoThuc S Th = 23.15; 23 15 string strNumber = System.Convert.ToString(SoThuc);

45

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc kiu d liu

S chuyn i gia cc kiu

S dng phng thc Parse ca kiu d liu:

V d 1: gn gi tr vo cho bin c kiu ngy


DateTime D Ti N Ngay; Ngay = DateTime.Parse(01/25/2008);

V d 2: chuy yn i s nguyn g y sang g s thc


double SoThuc; Int SoNguyen = 3; SoThuc = double.Parse(SoNguyen); double Parse(SoNguyen);

46

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

nh dng hin th kiu d liu



C hay c: S dng nh dng ng tin. Mc nh, l du dollar [$]. D hay d: S dng nh dng s thp phn. E hay e: S dng th hin dng s m. F hay f: S dng cho nh dng du chm tnh. G hay g: Vit tt ca general. K t ny dng nh dng kiu chm tnh hay s m. N hay n: S dng nh dng s hc c bn (vi du phy) X hay x: S dng nh dng thp lc c. Nu bn dng X vit hoa th k t thp lc cng s c vit hoa. Cc nh dng ny c vit sau du hai chm sau k hiu nh du ({0:C}, {1:d}, {2:X},).
47

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bi 2: Cc khi nim v nguyn tc c bn ca .NET NET Framework



Tng quan v .NET Framework Cc kiu d liu Bin v hng Cc ton t

48

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

Khi nim Cch khai bo

49

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

Khi nim

Bin l i tng dng lu tr tm thi cc gi tr


qu trnh x l tnh ton gi tu thuc vo kiu d liu ca bin hot ng ca ng dng

trong

Bin c th lu tr d liu dng chui, dng s, dng ngy Hng l nhng gi tr khng thay i trong sut qu trnh V d:
So_a, So_b: cc bin lu gi tr 2 s a v b Ket_qua: K t bin lu kt qu cc php h t tnh h Pi: hng s lu gi tr 3.1415 (hng s Pi)
50

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

Mt s lu khi t tn t cho h bin v hng:


C ngha gn vi gi tr lu tr Tn bin c phn bit ch HOA, ch thng Tun theo quy tc t tn bin:

Khng c khong trng Khng c du Khng t trng vi cc t kha Khng s dng cc k t t bit (#, $, %, +, -, ) Khng g bt u bng g s
51

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

Cch C h kh khai i b bo bin


int tuoi; string t i dia_chi; di hi double luong;

C php: Kiu_d_liu Tn_bin; V d:

Gn gi tr cho bin: Tn_bi Tn bin = gi tr; Ch : c th khai bo v khi to gi tr cho bin cng lc lc.
V d: string ho_ten = Nguyn Vn An;
52

V d: tuoi = 15;

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

c im

Kiu d liu khai bo bin trong C# u l kiu i tng Mi kiu i tng u i km:
Thuc tnh (property) Phng thc (method)

53

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

c im

Sau khi khai bo kiu d liu v gn gi tr cho bin, c th


truy xut:

Tn bin.Thuc tnh: ly thng tin lin quan n i tng Tn bin.Phng g thc: i t ng g thc hin hnh ng g
V d:
int So_a = int.Parse(txtSo ( _a.Text); ); MessageBox.Show(S a: + So_a.ToString());

54

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bin v Hng

Cch khai bo hng


C php ngha V d:
const Kiu_d_liu Tn_hng = Gi tr;

const: t kho khai bo hng s


const double PI = 3.14;

55

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Bi 2: Cc khi nim v nguyn tc c bn ca .NET NET Framework



Tng quan v .NET Framework Cc kiu d liu Bin v hng Cc ton t

56

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t gn Ton t lun l Ton t so snh Ton t s hc Ton t dch chuyn bit Kim tra kiu d liu

57

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t s hc

Ton t ni chui

58

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t gn

59

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t gn

V d 1: php gn cc gi tr n l
int a, a b, b c; a = 1; // OK. b = a; // OK. a = c; // Li : Bin ph hi c khi to tr c khi kh s dng. 1 = a; // Li : Trong php gn, ch phi l mt bin. c = (a + b); // OK. (a + b) = c; // Li : Trong php gn, ch phi l mt bin.

60

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t gn

V d 2: php gn cc tham chiu (gi s c class ID)


Id id1 = new Id( Id("Frank" Frank , 1); Id id2 = new Id("Emma", 2); id2 = id1;

61

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t gn

V d 3: php gn vi ng thi nhiu php gn


int a, a b, b c; a = 1; b = 1; c = 1; C th h c gim thnh h h mt cu lnh h vi nhi h u php h gn: a=b=c=1

62

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t gn

Ton t kt hp Null
bool? a = true; bool? b = false; object c = null; C Console.WriteLine(|{0,4}|{1,4}|{2,4}|{3,4}|, (|{ }|{ }|{ }|{ }| a ?? b, a ?? c, c ?? b, c ?? c); Kt qu xut ra mn hnh:

63

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t lun l iu kin

64

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t lun l iu kin


Bng chn tr:
a true true false false b true false true false !a false false true true a && b true false false false a || b true true true false

65

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t lun l iu kin


V d:

Kt qu xut ra mn hnh:
66

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t logic
Tn Logical NOT Logical AND Logical OR Logical XOR K hiu ~a a&b a|b a^b ngha Php o gi tr bit Tr v 1 nu c hai bit u l 1, ngc li tr v 0 Tr v 0 nu c hai bit u l 0, ngc li tr v 1 Tr v 1 nu v ch nu mt trong hai bit l 1, ngc li tr v 0

67

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t logic
a 1 1 0 0 b 1 0 1 0

Bng chn tr ca cc ton t logic


~a 0 0 1 1 a&b 1 0 0 0 a|b 1 1 1 0 ab 0 1 1 0

68

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton T t ghp h php h gn l logic i


Tn Logic ghp AND Logic g ghp g p OR Logic ghp XOR K hiu b &= a b| |= a b = a ngha b = (Type) (b & (a)) b=( (Type) yp ) ( (b | ( (a)) )) b = (Type) (b (a))

69

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t so snh

70

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t dch chuyn bit


Tn Chuyn dch tri (Shift left) Chuyn dch phi (Shift right) K hiu a << n a >> n ngha Chuyn dch tt c cc bit v bn tri n ln, ph y 0 cc bit phi tng ng vi bit chuyn dch Chuyn dch tt c cc bit v bn phi n ln, ph y 0 cc bit tri tng ng vi bit chuyn dch

71

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t ghp php gn dch chuyn bit


Tn Chuyn dch tri Chuyn dch phi K hiu a <<= n a >>= n ngha b = (Type) (b << (a)) b = (Type) (b >> (a))

72

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t dch chuyn bit


V d:

Kt q qu hin th ra mn hnh:

73

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t tin t (Prefix) v hu t (Postfix)

Cc ton t tng (++) v gim (--) c s dng lm tin t v V d:

hu t. Trong trng hp tin t, cc ton t tng hoc gim c t trc bin kiu d liu n gin.
++a a = a + 1 --a a = a 1
int b = 6; int a = ++b; a = b++; ; ++b; a = - -b; a = b- -;

// // // // //

a a a a a

= = = = =

7, 7, 7, , 8, 8,

b b b b b

= = = = =

7 8 9 8 7
74

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Ton t tin t (Prefix) v hu t (Postfix)


V d:

Kt qu xut ra mn hnh:
75

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

Cc ton t

Kim tra kiu d liu

Trong C# kim tra kiu s dng ton t: is v as. C php: Nu Kt_qu_kim l true Biu_thc c th chuyn
Kt_qu_kim = Biu_thc is Kiu

i thnh cng ti Kiu vi vic p kiu tng minh hoc boxing/unboxing ngm nh. nh Nu Biu_th u thc l null Kt_qu_kim l false.

76

TRNG I HC KHOA HC T NHIN TP.HCM

TRUNG TM TIN HC

77

You might also like