Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.

Hasonló előadás


Az előadások a következő témára: "Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus."— Előadás másolata:

1 Csala Péter csalap@jedlik.hu ANDN #4

2 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus

3 3 Típusok csoportosítása Típusok csoportosítása  Érték típus  Valójában is benne van a tárolt adat, érték  pl.: egész szám; karakter típus  Referencia típus  A benne „tárolt” adatokról csak egy referenciát tárol  pl.: osztály; tömb

4 4 Érték típus Mennyi a két változó értéke? Mennyi a két változó értéke? a = 0 a = 0 b = 100 b = 100 private void Page_Load(object sender, System… } int a = 0; int b = a; b = 100; { private void Page_Load(object sender, System… } int a = 0; int b = a; b = 100; {

5 5 Referencia típus Mennyi a két tömb elemeinek az értéke? Mennyi a két tömb elemeinek az értéke? i1(0)=10; i1(1)=20; i2(0)=10; i2(1)=20 Amikor i2 értékül kapta az i1-et, akkor csak az i1 tömbre mutató érték került átadásra Amikor i2 értékül kapta az i1-et, akkor csak az i1 tömbre mutató érték került átadásra Vagyis azonos memória területre mutat a két tömb. private void Page_Load(object sender, System… } int[] i1 = new int[2]; int[] i2 = i1; i2[0] = 10; i2[1] = 20; { private void Page_Load(object sender, System… } int[] i1 = new int[2]; int[] i2 = i1; i2[0] = 10; i2[1] = 20; {

6 6 Előre definiált típusok  szöveg  string s = ” ANDN”  char c = ‘a’  logikai  bool b = true  előjeles  sbyte b = 56 8bit  short s = -56 16bit  int i = 56 32bit  long l = - 56 64bit  csak pozitív  byte b = 56 8bit  ushort h = 56 16bit  uint u = 56 32bit  ulong v = 56 64bit  lebegőpontos  float v (1,32,7)  double l (2,64,16)  decimális  decimal v (128, 29 )

7 7 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus

8 8 Változók  Statikus változó  Példány változó  Tömb változó  Érték paraméter  Referencia paraméter  Kimenő paraméter

9 9 Változók deklarálása public void Function(int[] c, int d, ref int e, out int f) { int g = 1 f = a; } public void Function(int[] c, int d, ref int e, out int f) { int g = 1 f = a; } class Teszt { public static int a; int b; public Teszt() { b = 10; } class Teszt { public static int a; int b; public Teszt() { b = 10; }

10 10 Statikus változó private void button1_Click(object sender, System.Ev.. { Teszt.a = 4; Teszt x = new Teszt(); Teszt y = new Teszt(); int[] cc = new int[5]; int dd = 10, ee = 20, ff; x.Function(cc, dd, ref ee, out ff); label1.Text = ff.ToString(); y.Function(cc, dd, ref ee, out ff); label1.Text += " - " + ff.ToString(); } private void button1_Click(object sender, System.Ev.. { Teszt.a = 4; Teszt x = new Teszt(); Teszt y = new Teszt(); int[] cc = new int[5]; int dd = 10, ee = 20, ff; x.Function(cc, dd, ref ee, out ff); label1.Text = ff.ToString(); y.Function(cc, dd, ref ee, out ff); label1.Text += " - " + ff.ToString(); } Változók értéke X=4 Y= 4

11 11 Példány változó public Teszt() { b = 10; } public int Function2() { return b * 2; } proceted void button2_Click (object sender, System…. { Teszt x = new Teszt(); label1.Text = x.Function2().ToString(); } public Teszt() { b = 10; } public int Function2() { return b * 2; } proceted void button2_Click (object sender, System…. { Teszt x = new Teszt(); label1.Text = x.Function2().ToString(); } Változó értéke B = 20

12 12 Tömb változó public string Function3(int[] c) { string s = ""; foreach (int i in c) { s += i.ToString() + " "; } return s; } private void button3_Click(object sender, System.E… { int[] cc = new int[5]; … Teszt x = new Teszt(); label1.Text = x.Function3(cc); } public string Function3(int[] c) { string s = ""; foreach (int i in c) { s += i.ToString() + " "; } return s; } private void button3_Click(object sender, System.E… { int[] cc = new int[5]; … Teszt x = new Teszt(); label1.Text = x.Function3(cc); } Változó értéke CC = 1 2 3 4 5

13 13 Érték paraméter public int Function4(int d) { d *= 2; return d; } private void button4_Click(object sender, System { int dd = 15; label1.Text = new Teszt().Function4(dd). -> <- ToString() + " " + dd.ToString(); } public int Function4(int d) { d *= 2; return d; } private void button4_Click(object sender, System { int dd = 15; label1.Text = new Teszt().Function4(dd). -> <- ToString() + " " + dd.ToString(); } Változók értéke DD=30 DD=15

14 14 Referencia paraméter public int Function5(ref int e) { e *= 2; return e; } private void button5_Click(object sender, System { int ee = 15; label1.Text = new Teszt().Function5(ee). -> <- ToString() + " " + ee.ToString(); } public int Function5(ref int e) { e *= 2; return e; } private void button5_Click(object sender, System { int ee = 15; label1.Text = new Teszt().Function5(ee). -> <- ToString() + " " + ee.ToString(); } Változók értéke EE=30 EE=30

15 15 Kimenő paraméter public int Function6(out int f) { f = 75; } private void button6_Click(object sender, System { int ff = 0; Teszt x = new Teszt(); x.Function6(out ff); Label1.Text = ff.ToString(); } public int Function6(out int f) { f = 75; } private void button6_Click(object sender, System { int ff = 0; Teszt x = new Teszt(); x.Function6(out ff); Label1.Text = ff.ToString(); } Változó értéke FF = 75

16 16 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus

17 17 Változókkal műveletek  Stringek kezelése  Véletlen szám generálás

18 18 Stringek kezelése  Aktuális hossz lekérdezése  Karakterekkel való bontás  Másolás adott karaktertől (2féleképpen)  NAGY illetve kis betűvé való konvertálás  Adott helyre szöveg beszúrása  Számmá konvertálás  White Space levágása  Tetszőleges karakter levágása (be;end)  Adott karakter sorral kezdődik-e ellenőr.  Karakter csere  Stirngből adott helyről törlés

19 19 Aktuális hossz lekérdezése Lekérdezi a textbox aktuális hosszát, vagyis hogy hány karakter (char) található benne. private void button1_Click(object sender, System… { label1.Text = ”Length: ” + Text1.Text.Length.ToString(); } private void button1_Click(object sender, System… { label1.Text = ”Length: ” + Text1.Text.Length.ToString(); }

20 20 Karakterekkel való bontás Visszatérési értékként egy stringeket tároló tömböt ad vissza. Melynek minden eleme egy önálló string. private void button2_Click(object sender, System… { String[] s = textBox1.Text.Split(new Char[] {';'}); int i = 0; foreach (string tmp in s) { listBox1.Items.Add((++i).ToString() + ".: " + tmp); } private void button2_Click(object sender, System… { String[] s = textBox1.Text.Split(new Char[] {';'}); int i = 0; foreach (string tmp in s) { listBox1.Items.Add((++i).ToString() + ".: " + tmp); }

21 21 Másolás adott karaktertől 1. a végéig 2. 6-ig másol a 4. karaktertől private void button3_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4)); } private void button3_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4)); } private void button4_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4,2)); } private void button4_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Substring(4,2)); }

22 22 NAGY, kis betű konvertálás private void button5_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToUpper()); } private void button5_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToUpper()); } Paraméterként a CuluterInfot tudjuk átadni private void button6_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToLower()); } private void button6_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.ToLower()); }

23 23 Adott helyre szöveg beszúrása private void button7_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Insert(4, ”ANDN”)); } private void button7_Click(object sender, System… { listBox1.Items.Add(textbox1.Text.Insert(4, ”ANDN”)); }

24 24 String kezelés folyt. I.  Számmá konvertálás  White Space eltávolítása  (elejéről végéről is )  CharacterInfo class IsWhiteSpace függ. lehet ellenőrizni  Használható úgy is, mint a Split  Csak az elejéről vagy a végéről vágni int i = Convert.ToInt32(text1.Text); listBox1.Items.Add(textbox1.Text.Trim()); listBox1.Items.Add(textbox1.Text.TrimEnd());

25 25 String kezelés folyt. II.  Adott karakter sorral kezdődik?  Csere  I. paraméter cserélendő  II. paraméter cserélő  Adott helytől törlés  1.paraméter honnan  2. paraméter törlendő karakterek száma listBox1.Items.Add(textBox1.Text.StartsWith("a")); listBox1.Items.Add(textbox1.Text.Replace("a","b")); listBox1.Items.Add(textbox1.Text.Remove(4, 2));

26 26 Véletlen szám generálás  6féleképpen lehet véletlen számot generálni  Random  Next  Next max value  Next max, min value  NextBytes  NextDouble

27 27 Random Ilyenkor ténylegesen is véletlen számot kapunk eredményül. A többi esetnél, ha újból elindítjuk a programot akkor mindig u.a. a „véletlen” számot adja vissza. Ok: az aktuális idő figyelembevételével inicializáljuk a sort. (Random paraméter nélküli konstruktora)

28 28 Next Mennyi lehet az r értéke? 0 és Int32.MaxValue -1 között lehet private void button1_Click(object sender, System… { Random r = new Random(); label1.Text = r.Next().ToString(); } private void button1_Click(object sender, System… { Random r = new Random(); label1.Text = r.Next().ToString(); } ?

29 29 Next max value private void button2_Click(object sender, System… { Random r = new Random(); label2.Text = r.Next(10).ToString(); } private void button2_Click(object sender, System… { Random r = new Random(); label2.Text = r.Next(10).ToString(); } Mennyi lehet az r értéke? 0 és 9 között bármelyik egész szám ?

30 30 Next max, min value private void button3_Click(object sender, System… { Random r = new Random(); label3.Text = r.Next(20, 22).ToString(); } private void button3_Click(object sender, System… { Random r = new Random(); label3.Text = r.Next(20, 22).ToString(); } Mennyi lehet az r értéke? 20 vagy 21 lehet ?

31 31 NextBytes private void button4_Click(object sender, System… { byte[] b; b = new byte[100] Random r = new Random(); r.NextBytes(b); foreach (byte by in b) { listBox1.Items.Add(by.ToString()); } private void button4_Click(object sender, System… { byte[] b; b = new byte[100] Random r = new Random(); r.NextBytes(b); foreach (byte by in b) { listBox1.Items.Add(by.ToString()); } Ezzel egy tetszőleges méretű bájtokat tartalmazó tömböt tudunk feltölteni például.

32 32 NextDouble private void button5_Click(object sender, System… { Random r = new Random(); label5.Text = r.NextDouble().ToString(); } private void button5_Click(object sender, System… { Random r = new Random(); label5.Text = r.NextDouble().ToString(); } Mennyi lehet az r értéke? 0.0 és 1.0 közötti értéket veheti fel ?

33 33 Kérdések és válaszok...

34 Köszönöm a figyelmeteket!


Letölteni ppt "Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus."

Hasonló előadás


Google Hirdetések