Ogrodje NET Temelj za izgradnjo aplikacij nove generacije















































































- Slides: 79


Ogrodje. NET • Temelj za izgradnjo aplikacij nove generacije – Nov celovit programski model – Temelji na standardih – Korak proti integraciji • Ogrodje. NET sestavlja: – Skupno izvajalno okolje (Common Language Runtime - CLR) – Knjižnica razredov. NET • Microsoft-ova implementacija CLI-ja (CLI – Common Language Infrastructure)

Ogrodje. NET • Ogrodje. NET – skupno izvajalno okolje (CLR) – knjižnica razredov. NET –. . . Common Language Specification Web Services ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Operating System

Ogrodje. NET VB C++ C# JScript … Common Language Specification Web Services ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Operating System

Vsebina

Značilnosti C#

Novosti v C#

Hello world

Živjo svet- Značilnosti • using in namespace – organizacija kode – manj imenskih konfliktov • class – vse je v razredih (ali njihovih variacijah) • Main – vhodna točka programa v eni izmed štirih različic – static: metoda razreda (in ne objektov) • Console. Write. Line(". . . ") – uporaba razreda in njegove metode iz knjižnice – knjižnica ni del C#

Struktura programov C#

Program, sestavljen iz dveh datotek

Tipi

Poenoten sistem tipov

Vrednostni tipi: sklicni tipi

Tipi Klasifikacija • Vrednostni tipi (value types) – spremenljivka hrani sámo vrednost – vrednost shranjena na skladu (ali "inline") – prirejanje je kopiranje vrednosti • Sklicni tipi (reference types) – spremenljivka hrani sklic na vrednost – vrednost shranjena na kopici – prirejanje je kopiranje sklica – podvrženi smetarju – sem sodijo tudi kazalčni tipi (pointer types) • uporablja se le v posebnih okoliščinah • niso podvrženi smetarju

Tipi Vrednostni tip

Tipi Sklicni tip

Preprosti tipi

Kompatibilnost med preprostimi tipi

Naštevni tipi (enumeration types)

Operacije na naštevnih vrednostih

Polja

Večdimenzijska polja

Razred System. String

Strukture

Razredi

Razlike med razredi in strukturami

Boxing in unboxing • Boxing uporabljamo, ko pri vrednostnih tipih potrebujemo sklic (referenco) – na primer: polje mešanih tipov = polje nad tipom object – Java to rešuje z razredi primitivnih tipov • V C# so tudi vrednostni tipi izpeljani iz razreda object – ni preprek, da ne bi do vrednostnih tipov dostopali preko sklica int value; object boxed. Value = value; //boxing value = (int)boxed. Value; //unboxing

Boxing in unboxing

Boxing in unboxing

Izrazi

Izrazi in operatorji • Večina operatorjev je enakih kot pri C++ in Javi – – logični && || ^ aritmetični * / + - % << >> primerjalni == != < > >= <= ostali x. y f(x) a[x] ++ -- new ? : itd. . . • Malo drugače – & in | sta za tip bool logična operatorja s popolno evaluacijo • Drugače – is : testira tip (v stilu Javanskega instanceof) – as : pretvorba tipa brez proženja izjem – typeof : vrne tip

Vrstni red izvajanja operatorjev • vrstni red izvajanja operatorji določa prioriteta a=b+c*d; se bo izvedel kot a=b+(c*d); • vrstni red izvajanja operatorjev z enako prioriteto določa asociativnost – z leve proti desni (vsi binarni operatorji, razen operatorjev prirejanja) – z desne proti levi (operatorji prirejanja in pogojni operator ? : ) – x-y-z; se bo izvedel kot (x-y)-z; – a=b=c; se bo izvedel kot a=(b=c); • Prioriteto in povezovanje operatorjev lahko kontroliramo z uporabo oklepajev

Vrstni red izvajanja operatorjev vrsta multiplikativni * / % aditivni + - pomik relacijski in pretvorba tipov enakost << >> logični AND & logični XOR ^ logični OR | pogojni AND && pogojni OR || pogojni c? x: y prireditev = *= /= %= += -= <<= >>= &= ^= |= primarni < > <= >= is as == != PRIORITETA unarni operatorji x. y f(x) a[x] x++ x-new typeof checked unchecked + - ! ~ ++x --x (T)x

Preverjanje prekoračitve

typeof in sizeof

Deklaracije

Prostor deklaracij

Imenski prostori (namespaces)

Uporaba drugih imenskih prostorov

Bloki

Deklaracija lokalnih spremenljivk

Stavki

Preprosti stavki

Stavek if

Stavek switch

switch z goto

Zanke

Stavek foreach

Skoki

Stavek return

Razredi in strukture

Vsebina razredov ali struktur

Razredi

Strukture

Določba vidnosti

Članske spremenljivke (fields) in konstante

Statične članske spremenljivke in konstante

Metode

Statične metode

Parametri

Prenašanje parametrov • ref – prenašanje po referenci // definicija metode static void Zamenjaj(ref int i, ref int j) {. . . } // klic Zamenjaj(ref a, ref b); • out – prenašanje neinicializirane spremenljivke po referenci

Spremenljivo število parametrov

Preoblaganje metod

Razred - konstruktorji • Dve vrsti: – konstruktorji izvodov ("klasični") • definira kaj je potrebno storiti ob ustvarjanju izvoda (predmeta) • metoda z imenom razreda, ki nima vračajočega tipa • lahko so preobloženi – statični konstruktorji • Definira, kaj je potrebno storiti ob ustvarjanju razreda • statična metoda z imenom razreda, ki nima vračajočega tipa in je brez argumentov ter nima pridevnikov za dostop

Razredni konstruktorji

Privzeti (default) konstruktor

Konstruktorji za strukture

Statični konstruktorji

Destruktorji

Lastnosti (properties)

Lastnosti (nadaljevanje)

Indekserji

Razredi – indekserji • Indekserji (indexers) razširitev lastnosti • omogočajo izgradnjo poljubnih indeksiranih vsebovalnikov (containers) • uporaba tako izgrajenih vsebovalnikov se ne razlikuje od vgrajenih • indeks je lahko poljubnega tipa class Flota { public Ladja[] zbirka = new Ladja[10]; public int this[int index] { get { return zbirka[index]. Prostornina; } } }

Indekserji: še en primer

Preoblaganje operatorjev

Operatorji pretvorbe

Gnezdeni tipi

Kako naprej? Konec prvega dela Skok na drugi del
Svet i evropa posle velikog rata
Generacije programskih jezika
Raven izobrazbe eok
Svetové hospodárstvo a nové usporiadanie štátov
Galeotto fu il libro e chi lo scrisse
Contenzione denti
Pampevlk
Regola del nove
Parafrasi xiii canto inferno
Integral pravila
Nové formy marketingovej komunikácie
Um poliedro convexo tem 12 vertices e 18 arestas
Nové dopravné značky na slovensku
Regola del nove
Regola del nove
9999 em algarismo romano
Verdunská smlouva
Regola del nove
Podemos dividir o reino animal em nove filos
Regola del nove
Achmed lach net ich krieg mein tach net
Ado.net vb.net
Yobis mebnet giriş
Raspberry pi php install
Www.carlosparchen.net
Sea data net
Ag ed net
Academichelp.net essay
• https://englishteststore.net/index.php…
Elliot jaffe net worth
Victor campbell nashville net worth
Mind-surf.net puertas
Http sciencespot net
Net framework windows vista 32 bit
T. trimpe 2006 http //sciencespot.net/ answer key
Tier.net training manual
Alpha star's net income is $300 on $2 000 of sales
Www.labwin.net.sabesp
Issues in borrowing slideshare
Adrian netclassroom
Nafsa issue net
Http://sciencespot.net
T.trimpe 2006 http sciencespot.net
Bütünler açı nedir
The arbiter . net
Web development timeline
Bibliaonlibe
Bifissür ödem
Net force definition
Bio dyn
Clientserver network
Is in the middle
Advantage and disadvantage of npv
Nét cong trái
Dave liniger net worth
Definite vs indefinite integral
Acad net
Capital budgeting
Bwi net
Onlinehtmleditor.net
Brack net
Platforma broker net
[email protected]
Vodafone forum coimbra
Tinthac net
Apensarem.net
Aduanet
John climax net worth
Edebiyatogretmeni.net
Cbord net nutrition
Http savefrom
Http sciencespot.net
Creative curriculum.net
Rail net europe
Ado in real life
Chapter 9 net present value and other investment criteria
Ntc fiber net review
Fromservicesattribute
Net capital outflow formula
Net slip