Suphot Sawattiwong tohpus@gmail.com Array ใน C# Suphot Sawattiwong tohpus@gmail.com
Array คือ ? สมมติเราต้องการเก็บรหัสนักศึกษาของนักศึกษา 5 คน ในตัวแปร โดยปกติ เราสามารถทำได้โดยกำหนดตัวแปรได้ เช่น แต่ถ้าต้องการเก็บเป็น 100 เป็น 1000 คน จะทำอย่างไร string studentID1, studentID2, studentID3, studentID4, studentID5;
Array คือ ? Array เป็นตัวแปรที่ทำหน้าที่เก็บข้อมูลหลายๆ ตัวที่เป็นตัวแปรชนิดเดียวกันไว้ด้วยกัน ในหน่วยความจำภายใต้ตัวแปร ตัวเดียวกัน เราเรียกใช้ตัวแปรแต่ละตัวในarray ได้ด้วยการระบุตำแหน่ง (index) เราเรียกตัวแปรแต่ละตัวใน array ว่า สมาชิก (element) ของ array เราสามารถกำหนดตัวแปรเป็น array ได้ดังนี้ <ชนิดตัวแปร>[] <ชื่อตัวแปร>; string[] student;
การกำหนดขนาดของ array ในตัวแปรarray จำเป็นต้องกำหนดขนาดเพื่อให้รู้ขนาดที่แน่นอนของ array นั้นๆ ดังต่อไปนี้ การระบุ new นั้น เนื่องจากตัวแปรประเภท array เป็นตัวแปรแบบ reference type ซึ่งจำเป็นต้องมีการจองหน่วยความจำก่อน student = new string[5];
การใส่ค่าในแต่ละสมาชิกของ array student[0] = "Suphot"; student[1] = "Pisal"; student[2] = "Sisada"; student[3] = "Visit"; student[4] = "Phiphat"; [0] [1] [2] [3] [4] student Suphot Pisal Sisada Visit Phiphat
ตำแหน่งของสมาชิกใน array array ใน C# จะเริ่มตั้งแต่ 0 เป็นต้นไป ดังนั้นตำแหน่งสุดท้ายของตัวแปรใน array ก็คือ ตำแหน่ง n-1 โดย n เป็นจำนวนสมาชิก หากตัวแปร student มีสมาชิกทั้งหมด 100 ตัว ตำแหน่งสุดท้ายของ array คือ student[99]
การเรียกใช้ข้อมูลในสมาชิกของarray โดยปกติเราสามารถใช้ข้อมูลใน array ได้โดยการระบุตำแหน่งของ array Console.WriteLine(student[0]);
ตัวอย่าง using System; namespace StudentArrayExample { class Program static void Main(string[] args) string[] student; student = new string[5]; student[0] = "Suphot"; student[1] = "Pisal"; student[2] = "Sisada"; student[3] = "Visit"; student[4] = "Phiphat"; Console.WriteLine("student[0]=" + student[0]); Console.WriteLine("student[1]=" + student[1]); Console.WriteLine("student[2]=" + student[2]); Console.WriteLine("student[3]=" + student[3]); Console.WriteLine("student[4]=" + student[4]); Console.ReadLine(); }
ตัวอย่าง การกำหนดแบบเป็น set "Pisal", "Sisada", "Visit", "Phiphat" }; using System; namespace StudentArrayExample { class Program static void Main(string[] args) string[] student = { "Suphot", "Pisal", "Sisada", "Visit", "Phiphat" }; Console.WriteLine("student[0]=" + student[0]); Console.WriteLine("student[1]=" + student[1]); Console.WriteLine("student[2]=" + student[2]); Console.WriteLine("student[3]=" + student[3]); Console.WriteLine("student[4]=" + student[4]); Console.ReadLine(); } การกำหนดแบบเป็น set
การเคลื่อนที่ตำแหน่งของ array ด้วยตัวแปร หากมีการรับค่าหรือแสดงผล สัก 100 ค่า เราอาจจะต้องพิมพ์ถึง 100 บรรทัด ซึ่งมันเกินความจำเป็น แต่ array จริงๆ สามารถชี้ตำแหน่งผ่านตัวแปรได้ดังนี้ for(int i=0; i<5;i++) Console.WriteLine("student["+i+"]="+student[i]);
Exercise จงเขียนโปรแกรมรับค่าข้อมูลผ่านทาง keyboard ดังต่อไปนี้ ของนักศึกษา 10 คน และแสดงผลบนหน้าจอ รหัสนักศึกษา ชื่อ นามสกุล ID No. Name Surname ----------------------------------------------- 5405108098 Suphot S. 5405108099 PhiPhat L. 5405108100 Pisal S. 5405108101 Visit T. 5405108102 Athisaya J. 5405108103 Paphitchaya A. 5405108104 Phongchat A. 5405108105 Ponlavit L. 5405108106 Nattawat A. 5405108107 Eakwirun B.