programozás c# nyelven - mfpi.hu · pdf fileforráskód: vb, c#, j#, cobol,...

24
Programozás C# nyelven (alapok) [email protected]

Upload: buihanh

Post on 06-Feb-2018

233 views

Category:

Documents


6 download

TRANSCRIPT

Page 2: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Miről lesz szó?

A C# nyelv szintaktikája

Példák konzol felületen

A C# jellemzői

A grafikus felület

Módszertani kérdések

Page 3: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

A .NET keretrendszer

Forráskód: VB, C#, J#, Cobol, stb.

Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language)

Futtatás előtti fordító (Just-in-time compiler)

Menedzselt kód: Futtató környezetben, pl. szemétgyűjtés, jogosultságok

Fejlesztői környezet, pl. Visual Studio

Page 4: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

A C# nyelv története

Új nyelv a .NET keretrendszerhez

Azzal együtt, 2000-ben mutatták be

Visual Basic egyszerűsége + C++ hatékonysága C# programozási nyelv

Page 5: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Hello World!

Indítás New Project Console Application

Project: összetartozó fájlok, neve az exe neve lesz Solution: összetartozó projektek (több nyelv)

A kód:

Az exe fájl helye: Project\bin\debug

Page 6: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Életkor I.

Page 7: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Változók, típusok I.

Szigorúan típusos nyelv:

egész: byte (0..255), int (32 bit), long (64 bit), maradékos osztás: /, maradékképzés: %

lebegőpontos: float, double Math.Abs(x), Math.Sin(x), Math.PI, ...

char: unicode karakter (´g´) string: szöveg (˝gé˝)

logikai: bool (true vagy false)

Változó deklarálása: int x; vagy int x=2;

Page 8: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Változók, típusok II.

Konvertálás:

számmá: Convert.ToInt32(x)

szöveggé: x.ToString() vagy x.ToString(˝F2˝)

kényszerített: (int) x

Értékadás, egyenlőség: a = 2; //értékadás

a == 2 //egyenlőség vizsgálat

a != 2 //egyenlőtlenség vizsgálat

a++; //inkrementálás

a += 2; //növelés

Page 9: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Életkor II.

Egy utasítás esetén:

Több utasítás esetén {} közé:

A változó automatikusan konvertálódik

Page 10: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Családi pótlék

Többirányú elágazás szintaxisa:

Page 11: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Fényújság I.

for ciklus szintaxisa:

Késleltetés (a ciklusmagban):

Page 12: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Fényújság II.

while ciklussal:

Hátultesztelő: do {...} while (feltétel);

foreach ciklus: lista elemeinek bejárása

Page 13: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Vektorok használata I.

Deklarálás: objektumként, i-edik eleme: v[i]

Page 14: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Vektorok használata II.

Jól használható érdekességek:

Page 15: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Részekre bontás I. (egyszerű)

Page 16: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

A C# teljesen objektumorientált

Osztály: adattagok + metódusok

.NET keretrendszerben: osztálykönyvtárak

Névtér: hasonló funkciókat ellátó osztályok

Meghívás: System.Console.ReadLine(); vagy using System; majd Console.ReadLine();

public: elérhető kívülről, private: nem

Az osztályok „áthidalása”: Statikus adattag: nem az osztályban tárolódik Statikus metódus: a statikus tagokat kezeli

Page 17: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Részekre bontás II. (OOP)

Page 18: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Grafikus példa: Átváltás

MessageBox

TextBox, txtN

Button cmdOK

Label

Form

Eseménykezelő eljárás

cmdOK_Click()

Page 19: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Pizzarendelés I.

RadioButton optKicsi

(Kezdőérték: true)

CheckBox chkSonka

NumericUpDown nupDb

(Kezdőérték: 1 Kell hozzá címke is)

GroupBox (egy kiválasztott

lehet)

Label lblFizetendő

(AutoSize: false BorderStyle: Fixed3D

TextAlign: MiddleRight

Kezdőérték: 600)

Page 20: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Pizzarendelés II.

A három kijelölt objektum feliratkozik a CheckedChanged eseményre

Új eljárást hozunk létre Változás néven

Később a többi objektumot is hozzávesszük

Page 21: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Pizzarendelés III.

A közös kód. Gondoskodni kell a megfelelő konverziókról is. (A sortörés megengedett.)

Page 22: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Néhány fontosabb tulajdonság

Vezérlő neve: (name), felirata: Text

Bevitt érték (konvertálni kell):

TextBox: Text (string)

RadioButton: Checked (bool)

CheckBox: CheckState (-1, 0, 1) vagy Checked

NumericUpDown: Value (int)

HScrollBar, VScrollBar: Value (int)

Page 23: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Módszertani kérdések

A karakteres felület gyorsabb, de nem kelti fel az érdeklődést

Grafikus felületen vezérlőkkel:

TextBox, Label Változók, típusok, számítások

RadioButton, CheckBox elágazások

ListBox Ciklus, Tömb

Karakteres felület Sztringek, programozási tételek

CommonDialogControll Fájlkezelés

Page 24: Programozás C# nyelven - mfpi.hu · PDF fileForráskód: VB, C#, J#, Cobol, stb. Közbülső nyelv: MSIL vagy IL (Microsoft Intermediate Language) ... Sipos Marianna: Programozás

Ajánlott irodalom

Könyvek:

Reiter István: C# programozás lépésről lépésre

Sipos Marianna: Programozás élesben, C#

Novák István (szerk.): Windows 8 fejlesztés lépésről lépésre

Érettségi feladatok megoldása C# nyelven:

http://jos.hu/Letoltes/Programozas.htm