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

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

Visual C# 2010 Express 3. ชนิดข้อมูล และการดำเนินการกับ ข้อมูล การดำเนินกันของข้อมูล จะต้องทราบ ชนิดข้อมูลนั้นก่อน 1 C# Programming with Visual C# 2010.

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


งานนำเสนอเรื่อง: "Visual C# 2010 Express 3. ชนิดข้อมูล และการดำเนินการกับ ข้อมูล การดำเนินกันของข้อมูล จะต้องทราบ ชนิดข้อมูลนั้นก่อน 1 C# Programming with Visual C# 2010."— ใบสำเนางานนำเสนอ:

1 Visual C# 2010 Express 3. ชนิดข้อมูล และการดำเนินการกับ ข้อมูล การดำเนินกันของข้อมูล จะต้องทราบ ชนิดข้อมูลนั้นก่อน 1 C# Programming with Visual C# 2010 Express

2 เป้าหมายการเรียนรู้  ชนิดข้อมูล (Data Type) และ Common Type System (CTS)  การประกาศตัวแปร อโนนิมัสไทป์ และการแปลงชนิดข้อมูล  ขอบเขตการใช้ตัวแปร  ค่าคงที่ และค่าอ่านได้อย่างเดียว  การดำเนินการของข้อมูลทางคณิตศาสตร์  การดำเนินการของข้อมูลทางตรรกศาสตร์  ลำดับการทำงานของตัวถูกดำเนินการ  การกำหนดชนิดข้อมูลใช้เอง 2C# Programming with Visual C# 2010 Express

3 ชนิดข้อมูล ในการเขียนโปรแกรมต้องมีการดำเนินการกับข้อมูลใน รูปแบบของภาษาซีชาร์ป นักเขียนโปรแกรมต้องรู้จักชนิด ข้อมูลเพื่อดำเนินกับตัวแปร ชนิดข้อมูลอาจเรียกทับศัพท์ว่า ไทป์ (Type) ไทป์มีหลายลักษณะ คือ  Dynamic Type  Static  Type Safety  Strong Type C# Programming with Visual C# 2010 Express3

4 ชนิดข้อมูลใน C# ชื่อคำอธิบายขนาด(ไบท์)ระยะ intจำนวนเต็ม4-2,147,483,648 ถึง 2,147,483,647 longจำนวนเต็ม ,372,036,854,775, ,372,036,854,775,807 floatเลขทศนิยม4+/- 3.4 x 10^38 doubleเลขทศนิยม8+/- 1.7 x 10^308 decimalหน่วยเงินตรา16สามารถระบุเลขทศนิยมได้ 28 หลัก charหนึ่งอักษร2ไม่สามารถระบุได้ boolTrue, False12 ค่า คือ True หรือ False DateTimeDate- Time8 0:00:00 01/01/ :59:59 ง 12/31/9999 stringอักษรหลายตัว2 ต่อหนึ่งอักษรไม่สามารถระบุได้ C# Programming with Visual C# 2010 Express4

5 Common Type System (CTS) C# Programming with Visual C# 2010 Express5 TypeReference TypeBuilt-in TypeValue Type User- defined Type

6 การเก็บชนิดข้อมูลในหน่วยความจำ C# Programming with Visual C# 2010 Express6 String: Int16:21 สัญลักษณะที่ใช้ Int32:55 Char: A Reference Type “Hello” Value Type Stack Heap

7 ตาราง 3.2 คีย์เวิร์ด ที่เป็นชื่อพ้องกับชนิดข้อมูล C# Programming with Visual C# 2010 Express7 คีย์เวิร์ดชื่อที่ใช้แทนใน struct type sbyteSystem.SByte byteSystem.Byte shortSystem.Int16 ushortSystem.UInt16 intSystem.UInt32 uintSystem.Int64 charSystem.Char floatSystem.Single doubleSystem.Double boolSystem.Boolean decimalSystem.Decimal

8 ตัวอย่าง การประกาศใช้ชนิดข้อมูลแบบต่างๆ 1. static void Main(string[] args) { 2. int _int = 0; 3. string _str = null; 4. bool _bool= true; 5. decimal _dec = M; 6. double _dou = 0.00d; 7. char _chr = 'a'; 8. Console.WriteLine("_int = {0}", _int); 9. Console.WriteLine("_str = {0}", _str); 10. Console.WriteLine("_bool = {0}", _bool); 11. Console.WriteLine("_dec = {0}", _dec); 12. Console.WriteLine("_dou = {0}", _dou); 13. Console.WriteLine("_chr = {0}", _chr); 14. Console.ReadLine(); 15. } C# Programming with Visual C# 2010 Express8

9 การประกาศตัวแปร กฏข้อห้ามสำหรับการประกาศตัวแปร คือ 1. ใช้ตัวเลขขึ้นต้นชื่อตัวแปรไม่ได้ 2. ใช้คีย์เวิร์ดแทนชื่อตัวแปรไม่ได้ คำแนะนำสำหรับการประกาศชื่อตัวแปร ซึ่งไม่ผิดกฏ 1. ควรใช้อักษรพิมพ์เล็ก เป็นอักษรเริ่มต้น และอักษรในคำ ความหมายใหม่ ใช้อักษรพิมพ์ใหญ่เช่น myInt 2. ไม่ควรใช้คีย์เวิร์ด ที่เลี่ยงไปใช้อักษรพิมพ์เล็กหรือใหญ่ เพื่อให้ เกิดความแตกต่าง 3. สำหรับชื่อตัวแปรที่เป็นชื่อ เมทธอด หรือชื่อคลาส นิยมใช้ อักษรพิมพ์ใหญ่ขึ้นต้น เช่น MyClass 4. ควรใช้ชื่อตัวแปรที่มีความหมายเพื่อความเข้าใจง่าย 5. ชื่อตัวแปรค่าคงที่ ควรเป็นอักษรพิมพ์ใหญ่ C# Programming with Visual C# 2010 Express9

10 10

11 Anonymous Type C# Programming with Visual C# 2010 Express11 var v = new { Amount=108, Message="Hello" }; var myInt = 2; var productQuery = from prod in products select new { prod.Color, prod.Price }; var anonArray = new[] { new { name = “A"}, new { name = “B" }}; Class Array LINQ Value Type

12 การแปลงชนิดชนิดไทป์ การแปลงชนิดข้อมูลมีสองลักษณะที่ทำได้  Casting ใช้แปลงชนิดข้อมูลในกลุ่มเดียวกัน  Boxing ใช้แปลชนิดข้อมูลข้ามกลุ่มกัน แปลงชนิดข้อมูลมีสองวิธีคือ  Implicit เป็นการแปลงทางอ้อม CLR จะทำให้อัตโนมัติ  Explicit เป็นการแปลงทางตรง ที่จะเขียนชนิดข้อมูลที่แปลง C# Programming with Visual C# 2010 Express12 int a = 4; double b; b = a //Implicit conversion of int to double b = (int) a; //Explicit conversion (casting) of int to double

13 ตาราง 3.4 การแปลงค่าแบบอิมพลิสิท sbyteshort, int, long, float, double, decimal byte short, ushort, int, uint, long, ulong, float, double, decimal shortint, long, float, double, decimal ushortint, uint, long, ulong, float, double, decimal intlong, float, double, decimal uintlong, ulong, float, double, decimal long, ulingfloat, double, decimal floatdouble charushort, int, uint, long, ulong, float, double, decimal C# Programming with Visual C# 2010 Express13

14 เมธอด TryParse( ) C# Programming with Visual C# 2010 Express14 1.int number = 0; 2.string numberString = "1234"; 3.if (int.TryParse(numberString, out number)) 4.{ 5. Console.WriteLine("Conversion succeeded"); 6. Console.WriteLine(number); 7.} 8.else 9.{ 10. Console.WriteLine("failed"); 11.}

15 ขอบเขตของตัวแปร 1. Block เป็นระดับที่เล็กที่สุด เช่น บล็อกของ ของคำสั่ง if, while 2. Procedure เป็นระดับเมทธอด พล็อบเพอร์ตี้ ตัวแปร ภายในโพรซีเตอร์จะใช้ได้เฉพาะโพรซีเดอร์นี้เท่านั้น C# Programming with Visual C# 2010 Express15 if (x > 10) { int x = x * x; } void WhatYourName( ) { string name = Console.Read( ); Consoel.Writeln("Hello " + name); }

16 ขอบเขตของตัวแปร (ต่อ) 3. Module เป็นการอ้างอิงในการใช้สมาชิกในโมดูล ที่มีทั้ง สมาชิกของโมดูล โพรซีเดอร์ บล็อก และคลาส มักใช้กับ ตัวแปรที่ประกาศเป็น private C# Programming with Visual C# 2010 Express16 public class Person { private string name; public void SetName(string x) { name = x; } public string GetName( ) { return name; }

17 ขอบเขตของตัวแปร (ต่อ) 4. Namespace เป็นการอ้างอิงในระดับที่กว้างที่สุด ที่มีทั้งระดับ บล็อก โพรซีเดอร์ และโมดูล มักใช้คีย์เวิร์ด public ที่ทำให้ คลาสอื่นๆ สามารถใช้งานตัวแปรในทุกส่วนภายในเนมสเปส เดียวกันได้ C# Programming with Visual C# 2010 Express17 1.namespace ConsoleApplication1 { 2. class Program { 3. static void Main(string[] args) { 4. Person p1; // สามารถใช้ Person ได้ เพราะ มีคีย์เวิร์ด public นำหน้า Person 5. } 6. } 7. public class Person { 8. private string name; 9. public void SetName(string x) { 10. name = x; 11. } 12. } 13.}

18 ค่าคงที่ และตัวแปรอ่านได้อย่างเดียว  ตัวแปรค่าคงที่ (Constant variable) จะต้องระบุค่าเริ่มต้น ด้วย ณ ตอนประกาศค่าตัวแปร  ตัวแปรอ่านได้อย่างเดียว (Read-only variable)จะต้องระบุ ค่าเริ่มต้นด้วย ณ ตอนประกาศค่าตัวแปร หรือระบุตอนสร้าง คอนสตรักเตอร์ (constructor) เมทธอดคอนสตรักเตอร์จะ ทำงานตอนสร้างวัตถุ C# Programming with Visual C# 2010 Express18 class Program { readonly int y; //read-only variable Program() //constructor { y=1; } static void Main(string[] args) { Program p = new Program(); const int x=2; //constant variable }

19 การดำเนินการของข้อมูล  การดำเนินการกับตัวแปร หรือที่เรียกว่า เอ็กเพรสชัน (Expression) ประกอบด้วย ตัวถูกดำเนินการ (Operands) ตัว ดำเนินการ (Operator) ตัวอย่างเช่น a + b โดยที่ a, b เป็น Operands และ + เป็น Operator C# Programming with Visual C# 2010 Express19 เปรียบเทียบ ==, !=,, =, is ใช้เปรียบเทียบ ได้ผลลัพธ์เป็น จริง หรือ เท็จ เช่น 5==1 ได้ผลเป็นเท็จ เงื่อนไข ?: เงื่อนไข เปรียบเทียบ ระหว่างตัวถูกดำเนินการสองตัว ถ้าเป็นจริง ได้ ผลลัพธ์แรกก่อนเครื่องหมาย “:” แต่ถ้าเป็นเท็จได้ผลลัพธ์หลัง เครื่องหมาย “:” เช่น a>b?a:b เพิ่ม หรือลด ค่า ++, -- เพิ่มค่าทีละหนึ่งค่า หรือลบค่าทีละหนึ่งค่า การดำเนินทาง คณิตศาสตร์ +, -, *, /, % เป็นการดำเนินการทางคณิตศาสตร์ เช่น บวก ลบ

20 การดำเนินการทางคณิตศาสตร์อย่างลัด C# Programming with Visual C# 2010 Express20 item[(index + 1) % 32] = item[( idex + 1) % 32 ] + 1 item[(index + 1) % 32] += 1; var += expression; // var = var + expression var -= expression; // var = var - expression var *= expression; // var = var * expression var /= expression; // var = var / expression var %= expression; // var = var % expression =

21 ตาราง 3.5 ตารางความจริง  สำหรับการดำเนินทางตรรกะ จะใช้ความพื้นฐานของตาราง ความจริง เช่น การใช้ตรรกะเปรียบเทียบการใช้คำพูดว่า (คนเป็นสัตว์เลือดเย็น) และ (คนเป็นสัตย์เลี้ยงลูกด้วยนม) มี เท่ากับ False AND True = False C# Programming with Visual C# 2010 Express21 Value ANDOR True False True FalseTrueFalseTrue False

22 ตัวอย่างการดำเนินการทางตรรกะ C# Programming with Visual C# 2010 Express22 bool a, b, c; a = true; b = true; c = false; Console.WriteLine(a | b | c); // Print True ทดสอบการใช้ตรรกะ OR bool a, b, c; a = true; b = true; c = false; Console.WriteLine(a || b || c); // Print True ทดสอบการใช้ตรรกะ Short OR

23 การดำเนินการกับบิท  การดำเนินการทางตรรกะ ยังประยุกต์ได้กับบิท ซึ่ง มีตัว ดำเนินการ ^ แทน XOR, ~ แทน Complement, & แทน AND, และ| แทน OR C# Programming with Visual C# 2010 Express & | ^ ~

24 ตัวอย่างการดำเนินการทางตรรกะ C# Programming with Visual C# 2010 Express24 int a, b; a = 7; // b = 85;// Console.WriteLine(a & b);//print 5 // ทดสอบการ bitwise AND int a, b; a = 7; // b = 85;// Console.WriteLine(a ^ b);//print 82 // ทดสอบการ bitwise XOR

25 ลำดับการทำงานของของตัวดำเนินการ  ลำดับการดำเนินการมี ความสำคัญ เพราะหาก เข้าใจผิด อาจทำให้เขียน โปรแกรมผิดพลาดโดย ไม่รู้ตัวได้ หรือที่เรียกว่า logic error  ตัวอย่างเช่น 5 – 2 * 4 = 5 – 8 = -3 C# Programming with Visual C# 2010 Express25 สูงสุด ++, -- (prefix), +, - (unary), !, ~ *, /, % +, - >, = ++, != & ^ |, && ||, = ต่ำสุด ++, -- (postfix)

26 การสร้างชนิดข้อมูลใช้เอง  อีนัม (enum) เป็นชนิดข้อมูลที่เหมาะกับการใช้กับข้อมูลที่ ได้กำหนดเป็นชุดๆ หรือประเภท การกำหนดของอีนัม ใช้ คีย์เวิร์ด enum แล้วตามด้วยชื่อตัวแปร และค่าเริ่มต้น เช่น enum Color{Blue, Yellow, Red}  สตรัก (struct) เป็นชนิดข้อมูลที่เหมาะกับการเก็บโครงสร้าง อย่าง เป็นแถว การใช้งานสตรัก เริ่มต้นจากประกาศชนิด ข้อมูลด้วยคีย์เวิร์ด stuct แล้วตัวแปรชื่อตัวแปร ภายใน บล็อก จะประกาศโครงสร้างย่อยๆ สำหรับการเรียกใช้งาน ทำได้เพียงประกาศตัวแปร และเรียกใช้ด้วยเรียกชื่อตัวแปร และจุดตามด้วยชื่อข้อมูลในโครงสร้าง C# Programming with Visual C# 2010 Express26

27 ตัวอย่างการใช้อีนัม 1. private enum Color{Blue, Yellow, Red} 2. static void Main(string[] args) { 3. Color Color1, Color2, Color3; 4. Color1 = Color.Blue; 5. Color2 = (Color)1; //Casting to Color enum 6. Color3 = (Color)2; 7. Console.WriteLine("myColor:{0}", Color1); 8. Console.WriteLine("myColor:{0}", Color2); 9. Console.WriteLine("myColor:{0}", Color3); 10. } C# Programming with Visual C# 2010 Express27

28 ตัวอย่างการใช้สตรักต์ 1. public struct Customer { 2. public string name; 3. public string lastName; 4. public string tel; 5. } 6. static void Main(string[] args) { 7. Customer Ae; 8. Ae.name = "Vilasinee"; 9. Ae.lastName = "Choti"; 10. Ae.tel = " "; 11. Console.WriteLine("Name:{0} {1} tel: {2}", 12. Ae.name, Ae.lastName, Ae.tel); 13. } C# Programming with Visual C# 2010 Express28

29 ทำถามทบทวน C# Programming with Visual C# 2010 Express29 1. ภาษาซีชาร์ป มีระบบไทป์(Type System) เป็นแบบใด และมี ความหมายไทป์นั้นเป็นอย่างไร 2. จะใช้ชนิดข้อมูลอะไรเก็บอักษรเพียงตัวเดียว 3. การประกาศตัวแปรในข้อใด ไม่สามารถทำได้ และข้อใดไม่ ควรใช้ 1. char 5Letter; 2. int _int; 3. float This; 4. string MYSTRING 5. double $double; 4. ภายในเนมสเปสเดียวกัน ประกอบด้วยสองคลาส จะทำอย่างไร ที่จะประกาศตัวแปรให้อีกคลาสหนึ่งใช้ตัวแปรของอีกคลาส หนึ่งได้ จะต้องประกาศตัวแปรเป็นอย่างไร

30 ทำถามทบทวน (ต่อ) 5. ให้หาผลลัพธ์ของ การดำเนินการของข้อย่อยต่อไปนี้ และเมื่อ กำหนดให้ a = 5 ก. –a ข. a-- ค. 5 / 2 ง. 5.0 / 2 จ. “99” + “1” ฉ. 5==3?1:2 ช. 3 * * 2 6. จากการโค้ดต่อไปนี้ ส่วนใดเป็นแปลงข้อมูลแบบ อิมพลิสิท และเป็น การแปลงข้อมูลแบบ เอ็กพลิสิท และโปรแกรมนี้มีความผิดพลาด ให้ อธิบายความผิดพลาดในการแปลงข้อมูลด้วย int a = 4; float b; b = (float)a + 1.2; 7. ในซีชาร์ปใช้เมทธอดอะไรเพื่อทดสอบความผิดพลาดในแปลงชนิด ข้อมูลหนึ่งไปเป็นอีกชนิดข้อมูลหนึ่ง 8. อะไรคือความเหมือนและต่างที่สำคัญของตัวแปรประเภท read-only และ const 9. ในกรณีใดที่ควรใช้การกำหนดชนิดข้อมูลใช้เอง C# Programming with Visual C# 2010 Express30


ดาวน์โหลด ppt Visual C# 2010 Express 3. ชนิดข้อมูล และการดำเนินการกับ ข้อมูล การดำเนินกันของข้อมูล จะต้องทราบ ชนิดข้อมูลนั้นก่อน 1 C# Programming with Visual C# 2010.

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


Ads by Google