ดัชนีและความยาว
เข้าถึงสมาชิกอย่างปลอดภัย
ดัชนีและความยาว เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
การอ่านค่าด้วยดัชนี
สมาชิกแต่ละตัวในอาร์เรย์มีตำแหน่งที่เรียกว่าดัชนี คุณสามารถอ่านค่าได้โดยใส่ดัชนีไว้ในวงเล็บเหลี่ยมหลังชื่ออาร์เรย์
ดัชนีเริ่มต้นที่ 0 ดังนั้นสมาชิกตัวแรกสุดจึงอยู่ที่ดัชนี 0
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // Monการนับแบบเริ่มจากศูนย์
เนื่องจากดัชนีเริ่มที่ 0 สมาชิกตัวที่สองจึงอยู่ที่ดัชนี 1 และสมาชิกตัวที่สามอยู่ที่ดัชนี 2
การนับแบบเริ่มจากศูนย์นี้ทำให้ผู้เริ่มต้นสับสนได้ ดังนั้นโปรดจำไว้ว่า ดัชนี = ตำแหน่งลบหนึ่ง
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // Wedการเปลี่ยนสมาชิก
คุณสามารถเขียนทับสมาชิกใดก็ได้ด้วยการกำหนดค่าใหม่ให้ดัชนีของสมาชิกนั้น
ในที่นี้เราแทนที่ค่าที่ดัชนี 1 ความยาวของอาร์เรย์ไม่เปลี่ยนแปลง มีเพียงค่าที่จัดเก็บไว้เท่านั้นที่เปลี่ยน
int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99คุณสมบัติความยาว
อาร์เรย์ทุกอาร์เรย์มีคุณสมบัติ Length ที่บอกว่ามีสมาชิกอยู่กี่ตัว
คุณสมบัตินี้มีประโยชน์ เพราะคุณไม่จำเป็นต้องจำขนาดด้วยตนเอง
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4สมาชิกตัวสุดท้าย
ดัชนีที่ถูกต้องตัวสุดท้ายคือ Length - 1 เสมอ เพราะการนับเริ่มที่ 0
การใช้ Length - 1 ช่วยให้คุณค้นหาสมาชิกตัวสุดท้ายได้โดยไม่ต้องกำหนดตัวเลขตายตัว
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8ตัวดำเนินการดัชนีจากท้าย
C# มีทางลัดสำหรับการนับจากท้ายโดยใช้ตัวดำเนินการ ^ โดย ^1 หมายถึงสมาชิกตัวสุดท้าย และ ^2 หมายถึงสมาชิกตัวรองสุดท้าย
นี่เป็นวิธีที่กระชับในการเข้าถึงส่วนท้ายโดยไม่ต้องเขียน Length - 1
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8โปรแกรมฉบับสมบูรณ์
โปรแกรมฉบับสมบูรณ์นี้แสดงสมาชิกตัวแรก สมาชิกตัวสุดท้าย และความยาวทั้งหมด
ลองเรียกใช้โปรแกรมเพื่อดูค่าทั้งสามปรากฏขึ้น
int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);ข้อผิดพลาดนอกขอบเขต
หากคุณใช้ดัชนีที่มากเกินไปหรือติดลบ C# จะส่งข้อยกเว้น IndexOutOfRangeException และโปรแกรมจะหยุดทำงาน
สำหรับอาร์เรย์ที่มีความยาว 3 ดัชนีที่ถูกต้องมีเพียง 0, 1 และ 2 เท่านั้น ดัชนี 3 จึงเกินขอบเขตไปหนึ่งตำแหน่ง
int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3ตรวจสอบก่อนเข้าถึง
เพื่อป้องกันโปรแกรมหยุดทำงาน ให้ตรวจสอบว่าดัชนีอยู่ภายในขอบเขตก่อนใช้งาน
ดัชนีที่ปลอดภัยต้องมีค่าอย่างน้อย 0 และน้อยกว่า Length
int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
Console.WriteLine(nums[i]);
else
Console.WriteLine("Out of range");การใช้ความยาวในการคำนวณ
เนื่องจาก Length เป็นเพียงจำนวนเต็ม คุณจึงสามารถนำไปใช้ในการคำนวณได้ เช่น การค้นหาดัชนีตรงกลาง
ในที่นี้เราคำนวณตำแหน่งกึ่งกลางของอาร์เรย์
int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3ความยาวเป็นแบบอ่านอย่างเดียว
คุณไม่สามารถเปลี่ยนค่า Length เพื่อปรับขนาดอาร์เรย์ได้ อาร์เรย์จะมีขนาดคงที่หลังจากสร้างแล้ว
หากต้องการขนาดอื่น คุณต้องสร้างอาร์เรย์ใหม่ คอลเลกชันอย่าง List<T> เหมาะกว่าเมื่อขนาดต้องขยายเพิ่ม
int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3แบบทดสอบสั้นๆ
ทดสอบความเข้าใจเกี่ยวกับดัชนีและความยาวของคุณ
สรุปทบทวน
คุณได้เรียนรู้การอ่านและเปลี่ยนสมาชิกด้วยดัชนี เรียนรู้ว่าดัชนีเริ่มนับจากศูนย์ และดัชนีตัวสุดท้ายคือ Length - 1
คุณสมบัติ Length ใช้นับจำนวนสมาชิก ตัวดำเนินการ ^ ใช้นับจากท้าย และการเข้าถึงนอกขอบเขตจะทำให้เกิดข้อยกเว้น ในบทถัดไปคุณจะวนผ่านสมาชิกทุกตัว
คำถามที่พบบ่อย
บทเรียน “ดัชนีและความยาว” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ดัชนีและความยาว” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ดัชนีและความยาว”
เข้าถึงสมาชิกอย่างปลอดภัย คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ดัชนีและความยาว” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ประกาศอาร์เรย์
- ดัชนีและความยาว
- วนซ้ำผ่านอาร์เรย์
- อาร์เรย์หลายมิติ