1 / 34

ANDN #4

ANDN #4. Csala Péter csalap@jedlik.hu. Tartalom. C# - ban előre definiált típusok Változók Változókkal műveletek Elágazás Ciklus. 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

baby
Download Presentation

ANDN #4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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. Érték típus private void Page_Load(object sender, System… } int a = 0; int b = a; b = 100; { Mennyi a két változó értéke? a = 0 b = 100

  5. Referencia típus private void Page_Load(object sender, System… } int[] i1 = newint[2]; int[] i2 = i1; i2[0] = 10; i2[1] = 20; { 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 Vagyis azonos memória területre mutat a két tömb.

  6. 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 ) Előre definiált típusok

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

  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. Változók deklarálása class Teszt { public static int a; int b;public Teszt() { b = 10; } public void Function(int[] c, int d, ref int e, out int f) { int g = 1 f = a; }

  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 = newint[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. 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(); } Változó értéke B = 20

  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 = newint[5];… Teszt x = new Teszt(); label1.Text = x.Function3(cc); } Változó értéke CC = 1 2 3 4 5

  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(); } Változók értéke DD=30 DD=15

  14. Referencia paraméter public int Function5(refint 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. Kimenő paraméter public int Function6(outint 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. Tartalom • C# - ban előre definiált típusok • Változók • Változókkal műveletek • Elágazás • Ciklus

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

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

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

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

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

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

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

  29. Next max value 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. Next max, min value 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. NextBytes private void button4_Click(object sender, System… { byte[] b; b = newbyte[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. NextDouble 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. Kérdések és válaszok...

  34. Köszönöm a figyelmeteket!

More Related