Jacek Matulewski email jacekfizyka umk pl WWW http

  • Slides: 11
Download presentation
Jacek Matulewski e-mail: jacek@fizyka. umk. pl WWW: http: //www. fizyka. umk. pl/~jacek/dydaktyka Programowanie Windows

Jacek Matulewski e-mail: jacek@fizyka. umk. pl WWW: http: //www. fizyka. umk. pl/~jacek/dydaktyka Programowanie Windows na przykładzie C# część 1 Kurs realizowany jest w ramach Microsoft IT Academy wersja 18 -04 -2009

Rynek (IDE, języki, platformy) • Borland Developer Studio (Delphi, Delphi. NET, C++Builder, PHP) •

Rynek (IDE, języki, platformy) • Borland Developer Studio (Delphi, Delphi. NET, C++Builder, PHP) • Visual Studio (C++, C#, VB, F#) • Windows: Win 32, Win 64, . NET, XNA, VJM, Cygwin, … • Dlaczego warto uczyć się C# i platformy. NET: Windows Forms, XAML( WPF/XBAB/Silverlight), XNA, ASP. NET/ADO. NET • Przenośność (. NET/Mono, platformy XNA)

. NET Framework • Wersje 1. 0, 1. 1, 2. 0 + 3. 5,

. NET Framework • Wersje 1. 0, 1. 1, 2. 0 + 3. 5, 4. 0 • . NET Compact Framework • XNA • Czym jest ASP. NET, ADO. NET, LINQ, WPF, itd. ? • Czy. NET jest popularne?

Najprostszy program C# using System; namespace PrzestrzeńNazw { class Klasa { static void Main(string[]

Najprostszy program C# using System; namespace PrzestrzeńNazw { class Klasa { static void Main(string[] args) { Console. Write. Line("Hello World!"); Console. Read. Line(); } } } Nazwa C# = C sharp Podobieństwa do Pascala/Delphi – Anders Hejlsberg Kompilator w linii komend: csc Program. cs (ścieżka: c: WindowsMicrosoft. NETFrameworkv 2. 0. 50727)

Najprostszy program C#

Najprostszy program C#

Visual Studio (IDE) • Dostępne projekty. Pliki projektu • Intelli. Sense • Podokna VS,

Visual Studio (IDE) • Dostępne projekty. Pliki projektu • Intelli. Sense • Podokna VS, wbudowany debuger, edytor, kontrolki, własności/zdarzenia • Zdarzeniowy model aplikacji • Demo: Projekt aplikacji konsolowej • Demo: Projekt aplikacji Windows Forms • Demo: Projekt aplikacji XNA • Komunikaty - zdarzenia

Zmienne i pola • Nie ma typów prostych (wbudowanych w kompilator) • Wszystko jest

Zmienne i pola • Nie ma typów prostych (wbudowanych w kompilator) • Wszystko jest obiektem • Klasa vs. struktura • Struktury: int, long, float, double, Color • Klasy: tablice, listy, kolejki, itp. • int i=0; double d=0. 0; float f=0 f; Color k 1=Color. Red; Color k 2=Color. From. Argb(. . )

Typy • Biblioteki platformy. NET (przestrzeń nazw System i jej podprzestrzenie) • Kontrolki (WF,

Typy • Biblioteki platformy. NET (przestrzeń nazw System i jej podprzestrzenie) • Kontrolki (WF, WPF), struktury danych, algorytmy, klasy umożliwiające do baz danych • Dodatkowe biblioteki (przestrzeń Microsoft) • Możliwość korzystania z kontrolek Active. X • Zgodność bibliotek ze starszymi wersjami

Typy numeryczne i łańcuchy byte od 0 do 255 1 bajt sbyte od -128

Typy numeryczne i łańcuchy byte od 0 do 255 1 bajt sbyte od -128 do 127 1 bajt short od -32768 do 32767 2 bajty ushort od 0 do 65535 2 bajty int od -2147483648 do 2147483647 4 bajty uint od 0 do 4294967295 4 bajty long od -9223372036854775808 do 9223372036854775807 8 bajtów ulong od 0 do 18446744073709551615 8 bajów bool true lub false 1 bajt float liczby rzeczywiste (pojedyncza precyzja) 4 bajty double liczby rzeczywiste (podwójna precyzja) 8 bajtów decimal 28 cyfr znaczących 12 bajtów object typ bazowy dla wszystkich innych typów char 0 and 65535 (Unicody) 2 bajty string łańcuch, operatory, klasa ale zachowuje się jak typ wartościowy String. Builder dynamiczny łańcuch

Składnia • C++ – Java – C# - wspólna rodzina języków • Demo: operatory

Składnia • C++ – Java – C# - wspólna rodzina języków • Demo: operatory arytmetyczne, warunkowy • Demo: instr. sterujące (if, if. . else, switch) • Demo: pętle (for, foreach, while, do. . while) Instrukcje: break, continue, goto • Demo: wyjątki try. . catch. . finalize • Demo: tablice, sortowanie (Array. Sort) • Metody (funkcje składowe), argumenty (ref, out)

Składnia - operatory Arytmetyczne : + - * / % Łączenie łańcuchów: + Relacyjne:

Składnia - operatory Arytmetyczne : + - * / % Łączenie łańcuchów: + Relacyjne: == != < > <= >= Przesunięcia: << >> Logiczne i bitowe: & | ^ ~ ! && || true false Inkrementacji i dekrementacji: ++ -Przypisania: = += -= *= /= %= &= |= ^= <<= >>= Plus (minus) jednoargumentowy: + Dostęp do składowej: . Wyrażenie warunkowe: ? : Tworzenie obiektu: new Rzutowania: () Kontrola przepełnienia: checked unchecked Indeksowania: [] Informacje o typie: as is sizeof typeof Operacje na wskaźnikach (adresach): * -> [] &