ในการเขียนโปรแกรมจริง อาร์เรย์คืออ็อบเจ็กต์ที่มีการใช้งานบ่อย เช่นเดียวกับ Array, List ฯลฯ ล้วนเป็นการห่อหุ้มอาร์เรย์
ลองมาดูคำจำกัดความสองวิธีต่อไปนี้ เราจะเห็นความแตกต่างระหว่างพวกเขาหรือไม่
Dim tB1() เป็นไบต์
หรี่ tB2() เป็นไบต์ = {}
ทั้งสองอย่างนี้กำหนดอาร์เรย์ไบต์ และไม่มีองค์ประกอบในอาร์เรย์
แต่ความแตกต่างสามารถเห็นได้ในสองประโยคต่อไปนี้
Debug.Print (tB1 ไม่มีอะไรเลย)
Debug.Print (tB2 ไม่มีอะไรเลย)
ผลลัพธ์ของประโยคแรกคือ True และผลลัพธ์ของประโยคที่สองคือเท็จ โปรดทราบว่า tB1 เป็นอาร์เรย์แต่ยังไม่ได้เตรียมใช้งาน ซึ่งเทียบเท่ากับ Nothing ความยาว และผลลัพธ์เป็น 0 ซึ่งบ่งชี้ว่าเป็นอาร์เรย์ว่าง การเข้าถึงคุณลักษณะอื่นๆ ของ tB1 เช่น ความยาว จะส่งผลให้เกิดข้อผิดพลาด
ยังคงมีความแตกต่างระหว่างอาร์เรย์ว่างและอาร์เรย์ที่ไม่ได้เตรียมใช้งานในหลาย ๆ ที่
ตัวอย่างเช่น:
Debug.Print (System.Text.Encoding.Default.GetString(tB1))
Debug.Print (System.Text.Encoding.Default.GetString(tB2))
แม้ว่าจะไม่มีองค์ประกอบใน tB1 และ tB2 แต่ระบบจะส่งข้อยกเว้นเนื่องจากยังไม่ได้เตรียมใช้งาน tB1 แม้ว่า tB2 จะไม่มีองค์ประกอบ แต่ก็แสดงถึงอาร์เรย์ที่มีองค์ประกอบ 0 ระบบจะไม่ส่งข้อยกเว้นและส่งกลับสตริงว่าง
จากนี้จะเห็นได้ว่ายังคงมีความแตกต่างระหว่าง Nothing และ Array ขององค์ประกอบ 0 นี่คือสิ่งที่เรามองข้ามได้ง่าย