1 / 33

Value Types Variables

Value Types Variables. Agenda. CTS – Common Type System Naming Variables Using Built-in data types Creating User Defined Data Types Converting Data Types. Agenda. CTS – Common Type System Naming Variables Using Built-in data types Creating User Defined Data Types

aine
Download Presentation

Value Types Variables

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. Value Types Variables

  2. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  3. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  4. CTS – Common Type System • CTS • מפרט טכני פורמאלי ומחייב, המכיל אוסף של הגדרות, הנחיות וכללים, המתארים את אופן העבודה עם טיפוסים ב- .NET Framework • כל שפות ה- .NET חולקות את אותם הכללים המחייבים המוגדרים ב – CTS . • בעולם ה- .NET הטיפוסים מסווגים לשתי קטגוריות : Value Typesו- Reference Types.

  5. CTS – Common Type System Value Type • מכילים ישירות את הערכים. • לכל משתנה יש העתק פרטי של הערך. • פעולה על אחד המשתנים אינה משפיעה על האחרים. • מוקצים ב- Stack Segment Reference Type • מכיל ייחוס למידע. • שני ייחוסים או יותר יכולים להתייחס לאותו פריט המידע. • פעולה על ייחוס אחד יכולה להשפיע על ייחוסים אחרים. • מוקצה ב- Managed Heap . כל טיפוס Structure או Enumeration הוא Value Type , כל טיפוס Class הוא Reference Type .

  6. CTS – Common Type System Built-in Value Type - int, float, char, short ... User Defined Type - enum, structure

  7. CTS – Common Type System Simple Types •הטיפוסים הפשוטים ב- #C הם מופעים של Structures המוגדרים ב- Framework . • הם מגדירים מתודות, ולכן קשה לכנותם טיפוסים "פרימיטיביים". • #C מגדירה כינויים לאותם טיפוסים פשוטים. • ניתן להגדיר מופעים באמצעות שם המחלקה או באמצעות הכינוי, ההגדרות שקולות. • הם תמיד Value Types. לדוגמה:

  8. CTS – Common Type System • כל הטיפוסים הפשוטים יורשים את ValueType

  9. CTS – Common Type System • ניתן להגדירם באמצעות שם המחלקה או באמצעות הכינוי: הגדרה באמצעות הכינוי : int num = 16; float fnum = 13.34f; byte small_num = 12; או באמצעות שם המבנה: System.Int32 num = 16; System.Single fnum = 13.34f; System.Byte small_num = 12; ההגדרות שקולות.

  10. CTS – Common Type System • לטיפוסים הפשוטים מוגדרות מתודות : int num = 34; string str = num.ToString(); … string str = “1234”; int num = int.Parse(str);

  11. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  12. num _num NUM    cust customer   22catchcatch22  Naming Variables חוקים במתן שמות: • מותר להשתמש באותיות, ספרות וקו תחתי . • שם משתנה אינו יכול להתחיל בסיפרה. • חייב להיות ייחודי במתודה בה המשתנה מוגדר. • אסור להשתמש במילים שמורות. מוסכמות למתן שמות: • שם משמעותי, ללא קיצורים. • רצוי להימנע מקו תחתי בראש השם . • בשם של משתנה המכיל מספר מילים יופרדו המילים באמצעות קו תחתי או PascalCasing . • רצוי להימנע משם שכולו Uppercase .

  13. Naming Variables C# Keywords

  14. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  15. Using Built-in data types הגדרת משתנים: • בדרך כלל מוגדר משתנה בצמוד לטיפוס האב שלו: int stam_num; • ניתן להגדיר מספר משתנים בשורה אחת: float fnum1,fnum2,fnum3; • ניתן לאתחל משתנה בשורת ההגדרה : int stam_num = 123; • חובה לאתחל משתנים לפני השימוש בהם: int stam_num; Console.WriteLine(stam_num); • ניתן לאתחל או לשנות ערכים בכל מקום בקוד: int stam_num; Stam_num = 123; Console.WriteLine(stam_num);  

  16. Using Built-in data types אופרטורים:

  17. Using Built-in data types אופרטורים: Pre increment int num = 10; int result = ++num; ערכי המשתנים: num=11 result=11 Post increment int num = 10; int result = num++; ערכי המשתנים: num=11 result=10 shorthand int num = 10; num += 20 ; ערכי המשתנים: num=30 שווה ערך ל- num = num + 20 ?: operator int num = 10; int result = num++; bool flag = num == 11 ? true : false; ערכי המשתנים: Flag = true;

  18. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  19. Creating User Defined Data Types Define Enumeration Type Enum • טיפוס בעל סדרת ערכים סימבוליים קבועים ומוגדרים מראש. • המופעים (Instances) מטיפוסים אלו מוגבלים לסדרה של ערכים קבועים אשר נקבעים בהגדרת ה- Enum . • ערכים קבועים אלו מורכבים מקבוע שמי ומקבוע נומרי המוצמד אליו. לדוגמה: enum Color { White, Black, Red, Green, Blue}; הקבוע השמי White מקבל את הקבוע הנומרי 0, הבא אחריו Black מכיל את הערך הנומרי 1 וכו'. ניתן לשנות את הערכים של הקבועים הנומרים אשר יוצמדו לקבועים השמיים: enum Color { White, Black=5, Red, Green, Blue}; במקרה זה Black=5 , Red=6 וכו'

  20. Creating User Defined Data Types Define Enumeration Type Enum

  21. Creating User Defined Data Types Define Enumeration Type הגדרה: enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; הגדרת מופע: Days today = Days.Sunday; הצגת הערך: Console.Write(“Today is {0}.”, today); // Sunday יציג

  22. Creating User Defined Data Types Define Enumeration Type הבסיס ל- Enum הוא int , אולם ניתן לשנות זאת: enum Days : byte { Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; ניתן להגדיר את ה- Enum מהטיפוסים הבאים: byte, int, short, long

  23. Creating User Defined Data Types Define Structure Type Structure (מבנה) • טיפוס מורכב מאוסף של שדות/משתנים. • מבנים הם Value types , ולכן שוכנים ב- Stack Segment . • #C מאפשרת להוסיף למבנים מתודות(Methods), ובנאים (Ctors) למעט בנאי ברירת מחדל (Default ctor). • מבנה תמיד יכיל בנאי ברירת מחדל אשר מאפס את השדות, מבנה זה מוגדר אוטומטית על ידי הסביבה.

  24. Creating User Defined Data Types Define Structure Type public structPerson { public string FirstName; public string LastName; public intAge; } הגדרת מופע (Instance) מהמבנה: Person p; p.FirstName = “Shoshana”; p.LastName = “Israeli”; p.Age= 12; Console.WriteLine(FirstName:{0},Last Name:{1},Age{2}”, p.FirstName,p.LastName,p.Age); • חובה לאתחל את המבנה לפני השימוש בו.

  25. Creating User Defined Data Types Define Structure Type ניתן להגדיר למבנים מתודות ובנאים: public struct Point { public int x; public int y; public Point(int x,int y) { this.x=x; this.y=y; } public void Print() { Console.WriteLine("X:{0},Y:{1}",x,y); } } Point p3 = new Point(10,20); p3.Print();

  26. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  27. Converting Data Types שני סוגים של המרות: • Implicit Data Type Conversion המרה מרומזת , המרה מטיפוס קטן לטיפוס גדול. לדוגמה: מ - int ל - long , מ - byte ל - long . • Explicit Data Type Conversion המרה מפורשת , המרה מטיפוס גדול לטיפוס קטן. לדוגמה: מ - long ל-int , מ - long ל – byte .

  28. Converting Data Types Implicit Conversion : המרה מרומזת אינה יכולה להיכשל, אין איבוד מידע. using System; class Test { static void Main( ) { int intValue = 123; long longValue = intValue; . . . } }

  29. Converting Data Types Explicit Conversion המרה מפורשת יכולה להיות מסוכנת, יכולה להיכשל, קיים סיכוי לאיבוד מידע. using System; class Test { static void Main( ) { long longValue = Int64.MaxValue; int intValue = (int) longValue; . . . } }

  30. Converting Data Types המחלקה System.Convert כאשר מתבצעת המרה (מפורשת או מרומזת) נקראת מאחורי הקלעים המחלקה System.Convert. long lnum = 1234; int inum = Convert.ToInt32(lnum); Console.WriteLine(inum); float fnum = 12345.34f; short snum = Convert.ToInt16(fnum); Console.WriteLine(snum); bool flag = Convert.ToBoolean(snum); Console.WriteLine(flag);

  31. Converting Data Types המרות Built-in . הטיפוסים הפשוטים מכילים מתודות להמרה בין טיפוס הפוט למרוזת נומרית,ובין מחרוזת נמרית לטיפוס פשוט. int num = 1234; string str = num.ToString(); Console.WriteLine(str); str = "123456"; num = int.Parse(str); Console.WriteLine(num); float fnum = 1234.45f; str = fnum.ToString(); Console.WriteLine(str);

  32. Agenda • CTS – Common Type System • Naming Variables • Using Built-in data types • Creating User Defined Data Types • Converting Data Types

  33. www.corner.co.il Books Corner – הוצאת ספרים מקוונת

More Related