You are on page 1of 27

Chng 1.

Lm quen vi C#
Bt u lm quen vi mt ngn ng lp trnh no vi sinh vin l mt vic kh kh khn v b ng, vi nhng bn c kh nng v t duy tt th s t gp tr ngi hn nhng chng ta u gp vn chung l khng bit phi bt u n t u, hc sao cho ng. Hm nay Khoaimon mn php vit bi ny hng dn cho cc bn mi bt u vi ngn ng lp trnh C# cch lm quen v nh hng n ng n hn. Ps: T vit theo nhng g hc v tri nghim c g sai st mi ngi gp . Bt u no. Hc C# nn bt u t u? C rt nhiu ngi v c ti cng gp phi thc mc ny. C ngi ni nn hc t C, C++ ri mi sang C# cn theo t chng ta nn bt u vi vic hc C# trn Console ( kin ring t thui nh). Cc bn bt visual ln v chn Project -> New -> ConsoleApplication. y t dng visual 2005.

T xin gii thiu mt cht v ngn ng C#: C# l mt sn phm ca Microsoft, l mt ngn ng hng i tng kh thn thin, mm do v chng ta c th dng n to nn nhng ng dng trn desktop hay web. Ngoi ra C# cn c sn mt khi th vin khng l vi cc hm h tr mnh trong vic lp trnh. Chng ta nn ch mt vi nguyn tc sau: C# l ngn ng phn bit hoa thng .

Quy tc t tn trong C# . Quy tc vit ch thch. Cch khai bo cc th vin dng trong chng trnh. <nhng ci ny cc bn s hiu hn khi chnh thc bt tay vo tng dng code>. Chng trnh u tin l g? Chng ta s bt u vi vic in ra dng ch Hello World, n s to ra s thn thin trong vic tip xc ngn ng. Vd:
PHP Code:

using System; using System.Collections.Generic; using System.Text; namespace khoaimon { class Program { static void Main(string[] args) { //xuat ra man hinh dong chu "Hello World" Console.WriteLine("Hello World "); Console.ReadLine(); } } } Sau khi vit xong chng ta lu n li vi ui .cs (mc nh trong visual c) sau n F6 bin dch v n F5 chy chng trnh. Kt qu xut hin trn mn hnh dng ch Hello World.

Nhn vo y cc bn s thc mc v khng hiu cu trc n nh th no. V th t s gii thch tng phn mt bn di. V d trn y l s th hin ng dng console. Hiu n gin ng dng console l giao tip vi ngi dng bng bn phm v khng c giao din ngi dng. By gi chng ta s cng nhau khai ph v d ny nh. Namespace: trong v d trn namespace c khai bo nh sau Namespace : khoaimon { //ni cha ng cc class () } Trong : namespace l t kha khai bo. khoaimon l tn ca namespace. Cc bn th class program c cha trong namespace v trong namespace c th cha c nhiu class. Vic s dng namespace nhm gii quyt xung t tn class trong cng mt project. Ta c th hiu namespace l mt gi nhng thc th c thuc tnh v hnh vi c lp vi bn ngoi v c 2 u im nh sau: ., Trnh c s trng lp tn gia cc class. ., Cho php t chc m ngun mt cch c khoa hc v hp l.

T kha using: lm cho chng trnh gn hn v nht cn phi vit tng namespace
cho tng i tng, C# cung cp t kha using. Ta c th s dng dng lnh using System ngay u chng trnh, trc nh ngha lp v khi chng ta dng ti i tng console thay v phi vit l System.Console th ch cn vit Console thi. Vic ny s lm cho code ngn gn, r rng hn. Ton t .: dng truy cp n d liu hay phng thc trong cng mt lp, v ngn cch gia tn lp n mt namespace theo chiu t trn xung. Hm Main(): trong C# hm Main() c quy nh k t u vit hoa v hm c th tr v gi tr void hay int v lun khai bo l static. Ch thch (comment): //xuat ra man hinh dong chu "Hello World"

Trong mt project vic ch thch l v cng quan trng v khng th thiu n lm cho chng trnh d hiu, r rng v chng ta khng b gp tr ngi khi quay li xem code. Trc mnh lm project k 2 im cho phn ch thch code chim kh cao v th mi ngi nn ch nh. Chng ta c th ch thch code bng nhng cch nh sau: Cch 1: s dng k t //. Khi gp k t ny trnh bin dch s b qua c dng v th n thch hp nht khi chng ta mun ch thch trong 1 dng. Cch 2: chng ta khai bo /* u phn ch thch v */ cui phn ch thch v th m thch hp cho vic ch thch trong nhiu dng hay mt khi. Cch 3: ch thch XML ghi chp ti liu cho mt lp hoc phng thc bng cch s dng 1 phn XML (ci ny cc bn s t nghin cu sau khi no hiu ht c v C# trnh tu ha nhp ma). Trong v d trn vit ra dng ch Hello World chng ta s dng phng thc WriteLine() v phng thc ReadLine() gip chng ta dng li mn hnh cho n khng b chy mt tiu sau 1, 2 giy xut hin. (Ci ny c nhiu bn hi trn din n m khng chu n). Trn y l 1 v d cc bn lm quen v t m x n nhng chc chn vn cn nhiu th cha m ht. Sang phn sau t s gii thiu tng quan v i vo chi tit tng phn ca ngn ng C# cho cc bn hiu r hn.

Tip theo chng ta s nghin cu tng quan v ngn ng C# Chng 2: Bin v kiu d liu (Variables and Data Types).
!> Bin 1. nh ngha: Bin l mt vng nh c t tn , c s dng lu tr d liu trong chng trnh. 2. Cu trc: khai bo bin chng ta c cu trc nh sau: <kiu d liu><tn bin>; Vd: khai bo 1 bin a kiu mt s nguyn ta lm nh sau: Int a; Nu cc bn mun gn gi tr cho bin a l mt gi tr xc nh, y ti vd gn gi tr cho a bng 3. a = 3; Cu trc: <tn bin> = <biu thc>; T 2 v d trn chng ta c th khai bo gp nh sau: Int a = 3; V d sau s minh ha cch s dng bin:
PHP Code:

using System; using System.Collections.Generic; using System.Text; namespace SuDungBien { class MinhHoa { static void Main() { int bien1 = 3; // khai bo v khi to gi tr cho mt bin

Console.WriteLine("Sau khi khoi tao: bien1 ={0}", bien1); bien1 = 10; // gn gi tr cho bin Console.WriteLine("Sau khi gan: bien1 ={0}", bien1); Console.ReadLine(); } } } By gi nu bn c nhiu bin vi cng 1 kiu d liu th c th khai bo chung c khng v nu gn cho chng cng gi tr nh nhua th sao? D nhin cu tr li l c v chng ta c th gp chung vic khai bo cc bin cng kiu v cng gi tr. Chng ta c cu trc nh sau: <kiu d liu><bin 1><bin 2>,,<bin n>; Vd: int a,b,c; Gn cng mt gi tr cho nhiu bin(ci ny ngi ta gi l a gn). Vd: gn gi tr 3 cho 3 bin a, b,c; a = b = c = 3;

Ch :
a, trong C# yu cu cc bin phi c khi to trc khi s dng. b, tn bin trong C# phn bit ch hoa, ch thng. c, tn bin ch c th bt u vi k t hoc du _ ch khng th bt u vi ch s. d, tn bin khng c cha cc k t c bit nh $,#,%,^ e, tn bin khng c trng vi t kha nhng nu mun t trng tn vi t kha th dng @ ng trc. V cui cng hy nh t tn bin sao cho n ph nh c ngha m chng ta s dng n thun li hn trong vic kim tra li code. Ngoi ra hng (constant) cng c coi l bin nhng t s nhc ti n vo phn sau. T ny n gi nhc n kiu d liu chc cc bn ang thc mc n l g ng hem? S khng cc bn phi ch lu na.

!!> Kiu d liu (data type)


C# chia thnh hai tp hp kiu d liu chnh: Kiu xy dng sn (built- in) m ngn ng cung cp cho ngi lp trnh v kiu c ngi dng nh ngha(user-defined) do ngi lp trnh to ra. C# phn tp hp kiu d liu ny thnh hai loi: Kiu d liu gi tr (value) v kiu d liu tham chiu (reference). 1. Kiu d liu gi tr: l cc kiu d liu lu tr cc thng tin thc t. Cc kiu d liu xy dng sn byte: s nguyn dng khng du t 0-255 char: k t Unicode int: s nguyn c du 2.147.483.647 v 2.147.483.647 float: kiu du chm ng, gi tr xp x t 3,4E-38 n 3,4E+38, vi 7 ch s c ngha.. sbyte : s nguyn c du ( t -128 n 127)

short: s nguyn c du gi tr t -32768 n 32767. ushort: s nguyn khng du 0 65.535 uint: s nguyn khng du 0 4.294.967.295 double: kiu du chm ng c chnh xc gp i, gi tr xp x t 1,7E-308 n 1,7E+308,vi 15,16 ch s c ngha. decimal: C chnh xc n 28 con s v gi tr thp phn, c dng trong tnh ton ti chnh, kiu ny oi hi phi c hu t m hay M theo sau gi tr. long: kiu s nguyn c du c gi tr trong khong :-9.223.370.036.854.775.808 n 9.223.372.036.854.775.807 ulong: S nguyn khng du t 0 n 0xffffffffffffffff bool: Gi tr logic true/ false

2. Kiu d liu tham chiu:

object: y l kiu d liu c s cha tt c cc kiu d liu khc trong C#. string: kiu d liu chui k t. class: kiu d liu class. delegate: kiu d liu chuyn giao. interface: kiu d liu gio tip. array: kiu d liu mng. __________________

Xin nng ly ln chc nhau thm hnh phc Cuc i mi thm ti


c chnh sa ln cui bi khoaimon : 15-12-2010 lc 12:44 PM.

#2 16-12-2010, 10:19 PM

tip phn 2.
T nh vit tch 1 phn ring ni v hng (const) nhng hng li l trng hp c bit ca bin v theo yu cu ca mt s mem mun ni r hn v vn ny nn t s tch n ra mi ngi theo di. I. Hng l g?
Nh trn t ni th chng ta c th khi qut li nh sau: hng l mt bin nhng gi tr ca n khng thay i. T nh ngha cc bn phi ch 1 iu: trong sut chng trnh phi m bo gi tr ca n khng i. (ng lm liu nghe.hihi.) II. Phn loi: hng c phn thnh 3 loi:

By gi chng ta s i phn tch chi tit tng loi 1 nh. u tin s l cu trc khai bo hng <const><kiu d liu><tn hng> = <gi tr>; Vd: const int a = 20; 1. Gi tr hng: t v d trn th gi tr 20 chnh l gi tr hng v gi tr 20 l khng i.

2. Biu tng hng: mt biu tng hng phi tng khi to trc khi khai bo v ch duy nht mt ln trong sut qu trnh v khng c thay i. Trong v d trn th a chnh l biu tng hng c kiu s nguyn. (cc bn nn t biu tng hng c ngha n s gip chng ta d dng hn khi xem li).
PHP Code:

class khoaimon { static void Main() { const int diemmax = 10; // im const int diemliet = 0; // im System.Console.WriteLine( diem System.Console.WriteLine( diem } }

cao nht lit thi cao nhat la {0}, diemmax ); liet la {0}, diemliet );

3. Kiu lit k: kiu lit k l tp hp cc tn hng c gi tr khng i (danh sch lit k). 3.1. Cch khai bo v s dng Trong v d trn ta c: const int diemmax = 10; cost int diemliet = 0; By gi theo yu cu m rng ca bi ton chng ta thm mt s hng khc vo danh sch trn: const int diemtb = 5; //im trung binh const int diemkha = 7; //im kh V d nhin cc biu tng hng trn u c ngha quan h vi nhau, chng cng nhc n cc mc im nh gi im thi. Mt vn t ra nu chng ra ring l tng hng trn th chng trnh nhn s khng p mt v cng knh. Lc ny y C# cung cp cho ngi lp trnh mt gii php gii quyt vn trn l kiu lit k: C php:
PHP Code:

enum { }; Vd:

[kiu c s] Danh sch cc thnh phn lit k

PHP Code:

enum diemthi : int { diemmax = 10, diemliet = 0, diemtb = 5, diemkha = 7, } ; Ch : mi kiu lit k u c mt kiu d liu c s c th l bt k kiu d liu no nh int, short, longtuy nhin kiu d liu lit k khng chp nhn kiu k t v nu chng ta b qua phn ny th trnh bin dch s gn gi tr mc nh l kiu nguyn (int). Kiu lit k l mt kiu hnh thc do bt buc phi thc hin

php chuyn i tng minh vi cc kiu gi tr nguyn:


PHP Code:

using System; using System.Collections.Generic; using System.Text; namespace khoaimon { class KieuEnum { enum diemthi : int { diemmax = 10, diemliet = 0, diemtb = 5, diemkha = 7, }; static void Main() { System.Console.WriteLine("diem cao nhat: {0}", (int)diemthi.diemm ax); System.Console.WriteLine("diem liet: {0}", (int)diemthi.diemliet) ; System.Console.WriteLine("diem trung binh {0}", (int)diemthi.diem tb); System.Console.WriteLine("diem kha: {0}", (int)diemthi.diemkha);

Console.ReadLine(); } } } Ch : Mi thnh phn trong kiu lit k tng ng vi mt gi tr s, trong trng hp ny l mt s nguyn. Nu chng ta khng khi to cho cc thnh phn ny th chng s nhn cc gi tr tip theo vi thnh phn u tin l 0. vd:
PHP Code:

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication18 { class Program { enum diemthi : int { diemmax, diemliet, diemtb, diemkha, }; static void Main(string[] args) { System.Console.WriteLine("diem cao nhat: {0}", (int)diemthi.diemm ax); System.Console.WriteLine("diem liet: {0}", (int)diemthi.diemliet) ; System.Console.WriteLine("diem trung binh {0}", (int)diemthi.diem tb); System.Console.WriteLine("diem kha: {0}", (int)diemthi.diemkha);

Console.ReadLine(); } } } Khi gi tr th nht l 0, cc gi tr sau s l 1; 2; 3.(y l trng hp vi s nguyn). <ang hon thin nt phn 3> __________________

Xin nng ly ln chc nhau thm hnh phc Cuc i mi thm ti

c chnh sa ln cui bi khoaimon : 16-12-2010 lc 11:14 PM.

#3 18-12-2010, 04:43 PM

khoaimon
thnh vin mi

Ngy gia nhp: 09 2010 Ni : Nhng a tr lang thang Bi vit: 293

Chng ta s tip tc bc sang chng 3.


Chng 3: Statements (cu trc lnh).

Trong C# t chia ra cu trc lnh thnh 3 loi:

cn mt vi kiu lnh na nhng cc bn ng nn quan tm qu nhiu trnh gy nhm ln. I. Cu trc iu khin:
C# cung cp hai cu trc iu khin thc hin vic la chn iu kin thc thi chng trnh l cu trc if v switch...case.

I.I. Cu trc if
Visual C# Code:

Cu trc if trong C# c m t nh sau:


La chn code | n/Hin code

if (biu thc iu kin) {

// cu lnh thc thi nu biu thc iu kin ng } else { // cu lnh thc thi nu biu thc iu kin sai } y l cu lnh dng kim tra iu kin V d:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication19 { class Program { static void Main(string[] args) { Console.WriteLine("Hay nhap vao mot ten khoaimon"); string input; input = Console.ReadLine(); if (input == "khoaimon") { Console.WriteLine("khoaimon kute hihi"); } else { Console.WriteLine("ban chua nhap dung"); } Console.WriteLine("Ban vua go " + input); Console.ReadLine(); } } } Trong v d trn cu lnh if kim tra gi tr ca input c nhp vo c trng vi t khoaimon hay khng? Nu ng th in ra dng ch khoaimon kute hihi cn nhp s chng trnh s bo li bn cha nhp ng. Cu lnh ny kh n gin v chc chn cc bn s hiu c n sau mt vi v d. Trong cu trc cu lnh if ny t s gii thiu thm mt trng hp cc cu lnh if lng nhau. Trng hp cc cu lnh if lng nhau dng cho vic x l cc cu lnh iu kin phc tp. Cu trc:
Visual C# Code: La chn code | n/Hin code

if(iu kin 1) if(iu kin 2){ }else{ }else{ }

Hoc
Visual C# Code: La chn code | n/Hin code

if(iu kin 1){ } else{ if(iu kin 2){ } else{ } }

I.II. Cu trc switch case


Cc cu lnh if nm lng nhau rt kh c, kh g ri. Khi chng ta c mt lot la chn phc tp th nn s dng cu lnh switch. Cu trc swtich.case c c php nh sau:
Visual C# Code: La chn code | n/Hin code

// switch ... case switch (Bin iu kin) { case gi tr 1: Cu lnh thc thi break; case gi tr 2: Cu lnh thc thi break; case gi tr 3: Cu lnh thc thi break; default: Cu lnh thc thi break; } Cng tng t nh cu lnh if, biu thc so snh c t sau t kha switch, tuy nhin gi tr so snh li c t sau mi cc t kha case. Trong cu lnh ny phi c mt cu lnh nhy nh break, gt iu khin nhy qua cc case khc. Nu khng th chng trnh s thc hin tt c cc case theo sau.

II. Cu trc lp
C# cung cp cc cu trc vng lp chng trnh While Do while For Foreach Cho php chng ta thc hin mt on m lp li n khi ng iu kin lp. Sau y, ti xin gii thiu cng thc v v d s dng cc vng lp trn Vng lp While Cu trc vng lp while
Visual C# Code:

La chn code | n/Hin code

while (biu thc iu kin) { // cu lnh } Thc thi cu lnh hoc mt lot nhng cu lnh n khi iu kin ng. V d:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication19 { class Program { static void Main(string[] args) { int diem = 0; while ( diem < 10 ) { Console.WriteLine(" diem: {0} ",diem); diem++; } Console.ReadLine(); } } } Vng lp dowhile Cu trc vng lp dowhile
Visual C# Code: La chn code | n/Hin code

do { // cu lnh } While (biu thc iu kin) Ch : y c s khc bit quan trng gia vng lp while v vng lp do...while l khi dng vng lp do...while th ti thiu s c mt ln cc cu lnh trong do...while c thc hin. iu ny cng d hiu v ln u tin i vo vng lp do...while th iu kin cha c kim tra. V d:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication19 {

class Program { static void Main(string[] args) { int diem = 10; do { Console.WriteLine(" diem: {0} ", diem); diem++; } while (diem < 10); Console.ReadLine(); } } } trong v d ny chng ta s thy mc d diem = 10 l vi phm iu kin nhng chng trnh vn ra in kt qu diem = 10. V trong cu lnh ny n thc hin cu lnh in ra diem = 10 ri sau mi kim tra iu kin rng 10 khng tha mn v sau mi dng chng trnh. Vng lp for Cu trc vng lp for
Visual C# Code: La chn code | n/Hin code

for ([ phn khi to] ; [biu thc iu kin]; [bc lp]) { // thc thi cu lnh } V d:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication19 { class Program { static void Main(string[] args) { for (int diem = 0; diem <= 10; diem++) Console.WriteLine(diem); Console.ReadLine(); } } } Vng lp foreach Cu lnh foreach cho php chng ta lp qua tt c cc mc trong mt mng hay trong mt tp hp. C php s dng lnh lp foreach nh sau:

Visual C# Code:

La chn code | n/Hin code

foreach ( in ) { // thc hin thng qua tng ng vi // tng mc trong mng hay tp hp } y chng ta s ch quan tm n vng lp foreach s dng vi mng. Bn hy xem v d sau hiu cch s dng ca vng lp foreach truy cp n tng phn t ca mng.
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication19 { class Program { static void Main(string[] args) { int[] intArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; foreach (int item in intArray) { Console.Write("{0} ", item); } Console.ReadLine(); } } } III. Cc lnh break, goto v continue III.I. Cu lnh nhy goto: Lnh nhy goto l mt lnh nhy n gin, cho php chng trnh nhy v iu kin ti mt v tr trong chng trnh thng qua tn nhn. Goto gip chng trnh ca bn c linh hot hn nhng trong nhiu trng hp n s lm mt i cu trc thut ton v gy ri chng trnh. Cch s dng lnh goto: To mt nhn goto n nhn Nhn l mt nh danh theo sau bi du hai chm ( . Thng thng mt lnh goto gn vi mt iu kin no . Nhng trong lp trnh ngi ta trnh dng n v vic s dng cu lnh ny s khin chng trnh b ri v gy ra tnh trng kh kim sot. V th t s khng i su vo n. III.II. Cu lnh nhy break Ta dng cu lnh break khi mun ngng ngang vic thi hnh v thot khi vng lp v tip tc thc hin cc lnh tip ngay sau vng lp. III.III. Cu lnh nhy continue Cu lnh continue c dng trong vng lp khi bn mun khi ng li mt vng lp

nhng li khng mun thi hnh phn lnh cn li trong vng lp, mt im no trong thn vng lp. Ngoi ra cn c mt vi cu lnh nhy na nh return, yield, default. Chng ta s hiu hn v chng khi lm nhng bi tp v sau ny. <ang hon thin tip chng 4> __________________

Xin nng ly ln chc nhau thm hnh phc Cuc i mi thm ti


c chnh sa ln cui bi khoaimon : Hm qua lc 10:58 AM.

#4 Hm qua, 05:36 PM

khoaimon
thnh vin mi

Ngy gia nhp: 09 2010 Ni : Nhng a tr lang thang Bi vit: 293

Chng 4: Ton T (Operators).


I. nh ngha: C# c mt tp hp cc ton t phong ph. Ton t l cng c dng thao tc d liu . Mt ton t l mt k hiu dng i din cho mt thao tc c th no c thc hin trn d liu. II. Phn loi: Vi ton t t s chia n ra thnh 5 loi c bn nh sau:

II.I. Ton t s hc: Ngn ng C# cung cp cho chng ta 5 ton t ton hc l:

Cc php ton ny khng th thiu trong bt c ngn ng lp trnh no, C# cng khng ngoi l, cc php ton s hc n gin nhng rt cn thit bao gm: php cng (+), php tr (-), php nhn (*), php chia (/) nguyn. tm phn d ca php chia nguyn, chng ta s dng ton t chia ly d (%). Vd khi ta thc hin php chia 5/2 th kt qu s thu c l 1 (y l phn d cn li ca php chia nguyn). Trong vng lp th iu ny l rt hu dng khi mun thc hin mt cng vic no cch khong n ln, ta ch cn kim tra php chia d n, nu kt qu bng 0 th thc hin cng vic. hiu r hn v php chia ly phn d ny t s c mt vd sau y: Vd:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication20 { class Program { static void Main(string[] args) { for (int i = 0; i < 4; i++) { if (i %2 ==0) { Console.WriteLine(" so i chia het cho 2 la: {0} ", i); } else { //khng in ra } } Console.ReadLine(); } } } Trong chng trnh n tm xem trong khong i t 0 n 3 c s no chia cho 2 d 0 th s in ra cn nhng s chia cho 2 c d khc 0 s khng c in ra. II.II. Ton t quan h: Ton t quan h c dng kim tra mi quan h gia hai bin, hay gia mt bin v mt hng. V d vic xt s ln hn ca hai s a v b c thc hin thng qua du ln hn (>) gia hai ton hng a v b l (a>b). By gi ta so snh ln hn gia 4 v 3. Ta c 4 > 3 l ng th s tr v gi tr l true trong khi 3> 4 l sai th tr v gi tr l false. Chng ta s cng xem cc ton t quan h v ngha ca chng qua hnh sau y.

II.III. Ton t tng v gim: Khi s dng cc bin s ta thng c thao tc l cng mt gi tr vo bin, tr i mt gi tr t bin , hay thc hin cc tnh ton thay i gi tr ca bin sau gn gi tr mi va tnh ton cho chnh bin . i vi ton t ny t s chia ra lm 2 loi: a. Tnh ton v gn tr li Chng ta s c bng m t cc php ton t gn nh sau:

V d ta c mt bin nguyn a c gi tr bng 5. Gi chng ta mun gim gi tr ca bin a bng 3 ta lm nh sau: a = a 2; Trong cu lnh ny php tr c thc hin trc ly gi tr ca a l 5 tr i 2 bng 3 v sau gn gi tr 3 cho bin a. Lc ny bin a s c gi tr bng 5. Cc kiu khc cng tng t. V vic tng hay gim gi tr ca mt bin trong tnh ton thng rt hay xy ra. Ch : chng ta rt hay gp mt bin c gi tr c tng hay gim 1 v n rt ph bin trong lp trnh v C# cung cp cho chng ta 2 ton t c bit l tng mt (++) hay gim mt (--). b. Ton t tng gim tin t v tng gim hu t Trong trng hp chng ta s dng cc php ton kt hp nh tng mt gi tr cho bin v sau gn gi tr ca bin cho bin th 2. Vy lm th no xc nh c vic no thc hin trc, vic no thc hin sau? gii quyt yu cu trn C# cung cp th t thc hin php ton tng/gim vi php ton gn, th t ny c gi l tin t (prefix) hay hu t (postfix). Vd ta c: var1 = var2++; // Hu t. var1 = ++var2; //Tin t. Trong trng hp tin t php tng s c thc hin trc v sau php gn mi thc hin. V n ngc li vi trng hp hu t. hiu r hn ta s c mt v d nh nh sau:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication20 { class Program { static void Main(string[] args) { int a = 5; int b; b = a++; Console.WriteLine("Thuc hien tang sau: {0}, {1}", a, b); a = 5; b = ++a; Console.WriteLine("Thuc hien tang truoc: {0}, {1}", a, b); Console.ReadLine(); } } } II.IV. Ton t gn: n lc ny ton t gn kh quen thuc vi chng ta, hu ht cc chng trnh minh ha t u u s dng php gn. Ton t gn hay php gn lm cho ton hng bn tri thay i gi tr bng vi gi tr ca ton hng bn phi. Ton t gn l ton t hai ngi. y l ton t n gin nht thng dng nht v cng d s dng nht. v d a = b; II.V. Ton t logic: C# cung cp cho chng ta mt tp hp ton t logic phc v cho ngi lp trnh. Cc bn xem trong hnh sau:

i khi chng ta mun kt hp nhiu iu kin vi nhau nh: bt buc c hai hay nhiu iu kin phi ng hoc ch cn mt trong cc iu kin ng l hoc khng c iu kin no ng...th chng ta phi dng ti ton t ny. Ngoi ra chng ta cn bit thm ti mt loi ton t na l ton t ba ngi(? . Ton t ny s xc nh gi tr ca mt biu thc iu kin, v biu thc iu kin ny phi tr v mt gi tr kiu bool. C ngha l nu iu kin ng th lm cng vic th nht, cn ngc li iu kin sai th lm cng vic th hai. Vd:
Visual C# Code: La chn code | n/Hin code

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication20 { class Program { static void Main(string[] args) { int a; int b; int max; a = 5; b = 8;

max = a > b ? a : b; Console.WriteLine("gia tri lon nhat {0}", max); Console.ReadLine(); } } } y l bi ton tm gi tr ln nht trong 2 s. Nu a ln hn b th gi tr ln nht l a cn sai th b l gi tr ln nht. l ngha ca ton t ny. __________________

Xin nng ly ln chc nhau thm hnh phc Cuc i mi thm ti

#5 Hm qua, 05:43 PM

khoaimon
thnh vin mi

Ngy gia nhp: 09 2010 Ni : Nhng a tr lang thang Bi vit: 293

Chng 5: Chuyn i cc kiu d liu trong C#


Trong C# cung cp cho chng ta rt nhiu cch p kiu nhng y t ch xin gii thiu ti mi ngi 4 cch:

1. Parse Phng thc Parse l phng thc c s dng kh ph bin khi chng ta mun chuyn i mt chui sang mt kiu d liu tng ng. Mi kiu d liu c bn trong C# u c phng thc Parse chuyn i sang kiu d liu . Mt s v d cc cu lnh minh ha cho vic chuyn i s dng phng thc Parse
PHP Code:

int a = Int32.Parse("123"); //a s mang gi tr 123 float b = Float.Parse("20.7"); //b s mang gi tr 20.7 bool c = Boolean.Parse("true"); //c s mang gi tr true Nu nh chui chng ta truyn vo l rng, khng ng nh dng hoc vt qu gi tr cho php th chng ta s nhn c cc Exception tng ng. V d:
PHP Code:

int a = Int32.Parse(Hello); //sai nh dng, FormatException byte b = Byte.Parse(10000000000); //qu gii hn, OverflowException bool c = Boolean.Parse(null); //tham s l null, ArgumentNullException 2. TryParse Ging nh Parse, TryParse cng l phng thc c tch hp sn trong cc lp kiu d liu c bn ca C#. Tuy nhin, c php ca TryParse c phn khc vi Parse. C th, tham s th nht ca TryParse l chui cn chuyn i v tham s th hai l bin s cha gi tr c chuyn i, bin th hai ny phi c nh du l out . hiu hn v out cc bn tra MSDN nh.

Mt s v d minh ha
PHP Code:

int a; Int32.TryParse(123, out a); //a s mang gi tr 123 bool b; Boolean.TryParse(false, out b); //b s mang gi tr false im khc bit th hai ca TryParse so vi Parse l phng thc TryParse khng nm ra cc ngoi l nh Parse m s tr v cc gi tr true (chuyn i thnh cng) hoc false (chuyn i tht bi, bin mang gi tr mc nh).
PHP Code:

int a; Int32.TryParse("hello", out a); //tr v gi tr false, a mang gi tr 0 bool b; Boolean.TryParse("", out b); //tr v gi tr false, b mang gi tr False Ch : Ngoi ra, phng thc TryParse s thc thi nhanh hn phng thc Parse v TryParse khng nm ra ngoi l 3. Convert Lp Convert l mt lp tin ch trong C# cung cp cho chng ta rt nhiu phng thc tnh khc nhau chuyn i t mt kiu d liu ny sang kiu d liu khc. Tham s m cc phng thc trong Convert nhn khng nht thit phi l chui m c th nhiu kiu d liu khc nhau (int, bool, double). V d:
PHP Code:

int a = Convert.ToInt32("123"); //chuyn chui 123 sang s nguyn bool b = Convert.ToBoolean(13); //chuyn s 13 sang kiu bool Cc phng thc trong lp Convert s tr v gi tr mc nh nu nh tham s truyn vo l null. Cn trong cc trng hp sai nh dng hoc vt qu gii hn th cc phng thc s nm ra cc ngoi l tng t nh phng thc Parse. V d:
PHP Code:

bool a = Convert.ToBoolean("khoaimon"); //FormatException int b = Convert.ToInt32("123456787654"); //OverflowException double d = Convert.ToDouble(null); //tr v gi tr mc nh 4. Casting (p kiu) p kiu l cch chng ta c th s dng khi mun chuyn i gia cc kiu d liu c tnh cht tng t nhau (thng l s). V d :
PHP Code:

int a float int c int a

= b = =

100; = a; //chuyn i ngm nh, b = 100 (int)b; //chuyn i r rng, c = 100 100;

Ngoi ra, i vi cc gi tr c lu trong kiu tng qut Object (bng cch boxing) th chng ta c th p kiu a v kiu d liu ban u (Tm hiu v Boxing v Unboxing)
PHP Code:

object b = a; //boxing, b l kiu tham chiu cha gi tr 100 int c = (int)b; //unboxing, c mang gi tr 100 p kiu ch c s dng khi chng ta bit r rng i tng cha kiu d liu tng ng vi kiu m ta cn chuyn ti. V d nh cc trng hp sau s l cc li c php trong lp trnh:
PHP Code:

string a = "1234"; int b = (int)a; //li, khng th p kiu chui sang kiu s bool c = true; double d = (double)c; //li, khng th p kiu bool sang kiu double Ch : Vic s dng cch no l do ty chng trnh v cn ph thuc vo s quan h gia cc kiu d liu v th cc bn nn ch nh. Ln trc c mt mem hi t v ton t "as". V tin y t xin chia s thm. Ngoi vic s dng casting thun ty, chng ta c th s dng ton t as. Nhc im ca vic s dng casting thun ty l nu vic casting tht bi th chng ta s nhn c mt exception cho vic tht bi . Tuy nhin, nu s dng ton t as, nu vic casting khng thnh cng th chng ta s nhn v mt gi tr null thay v l mt exception. vd:
PHP Code:

var myObject = existingObject as MyObject; Gi nh rng nu vic chuyn i trn s tht bi th myObject lc ny s mang gi tr null.

You might also like