งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA สุพจน์ สวัตติวงศ์ 1.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA สุพจน์ สวัตติวงศ์ 1."— ใบสำเนางานนำเสนอ:

1 C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA สุพจน์ สวัตติวงศ์ 1

2 โครงสร้างของ C# • Namespaces อาจจะมี structs, interfaces, delegates, และ enums • Simplest case: single class, single file, default namespace 2

3 Unified Type System 3

4 Value กับ Reference i 4

5 Simple Type 5

6 การเปลี่ยนแปลงกันระหว่าง Simple Types 6

7 if Statement 7

8 switch Statement • ตัวแปร condition ใน switch สามารถใช้ ได้ทั้ง numeric, char, enum และ String • ทุก case หากต้องการไม่ให้ท าต่อด้านล่างต้องมี break, return, throw, และ goto 8

9 switch with gotos 9

10 Loops 10

11 foreach Statement 11

12 Enumerations • การกำหนด Constant แบบ Enum • กำหนดโดยตรงใน namespace ดังนี้ • วิธีใช้งานดังต่อไปนี้ enum Color { red, blue, green } // values: 0, 1, 2 enum Access { personal = 1, group = 2, all = 4 } enum Access1 : byte { personal = 1, group = 2, all = 4 } Color c = Color.blue; // enumeration constants must be qualified Access a = Access.personal | Access.group; if ((Access.personal & a) != 0) Console.WriteLine("access granted"); 12

13 การใช้เครื่องหมายของ enum ใน C# • Enumerations ไม่สามารถใช้ int แทนได้ ( ยกเว้นถูก กำหนด Type ไว้ก่อน ) • Enumeration types ถูก inherit จาก object จึงใช้ method (Equals, ToString,...) ได้ • Class System.Enum ครอบคลุมการทำงานบน enumerations • (GetName, Format, GetValues,...). 13

14 Arrays • การใช้ Array 1 มิติ 14

15 การใช้ Array หลายมิติ 15

16 การใช้งาน System.String • สามารถใช้ string ได้โดยตรงดังนี้ string s = "Suphot"; • สามารถใช้ + เพื่อบวก string ได้ เช่น s = s + " Sawattiwong"; • สามารถใช้ index ได้ เช่น s[i] • String มี length เช่น s.Length • Strings เป็นตัวแปร reference type แบบพิเศษ ซึ่งทำหน้าที่เป็น reference เฉพาะพฤติกรรม ของมัน 16

17 การใช้งาน System.String • สามารถใช้การเปรียบเทียบแบบ == และ != ได้ เช่น if (s == "Alfonso") • Class String มี Method อื่นเช่น CompareTo, IndexOf, StartsWith, Substring เป็นต้น 17

18 Structs • การกำหนด Struct • การใช้งาน struct Point { public int x, y;// fields public Point(int x, int y) { this.x = x; this.y = y; }// constructor public void MoveTo(int a, int b) { x = a; y = b; }// methods } Point p = new Point(3, 4);// constructor initializes object on the stack p.MoveTo(10, 20);// method call 18

19 Classes • การกำหนด Classes การใช้งาน class Rectangle { Point origin; public int width, height; public Rectangle() { origin = new Point(0,0); width = height = 0; } public Rectangle (Point p, int w, int h) { origin = p; width = w; height = h; } public void MoveTo (Point p) { origin = p; } } Rectangle r = new Rectangle(new Point(10, 20), 5, 5); int area = r.width * r.height; r.MoveTo(new Point(3, 3)); 19

20 ความแตกต่างระหว่าง Classes และ Structs 20

21 Boxing /Unboxing • Boxing object obj = 3; โดย 3 จะเข้าไปอยู่ใน Heap ของ object • Unboxing int x = (int)obj; ค่าในตัวแปร obj จะถูกเปลี่ยนเป็น int แล้วถูก เก็บมาในตัวแปร x 21

22 Contents of Classes or Structs 22

23 Fields และ Constants 23

24 Methods 24

25 Parameters 25


ดาวน์โหลด ppt C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA สุพจน์ สวัตติวงศ์ 1.

งานนำเสนอที่คล้ายกัน


Ads by Google