เงื่อนไขค่อนข้างสลับกันได้ แต่ในบางสถานการณ์ฉันต้องการมากกว่าหนึ่งอีก โดยปกติแล้วคุณจะได้รับการใช้งานที่ดีที่สุดถ้าคุณคิดว่าคุณจะอธิบายความยาว / ขนาด / จำนวนขององค์ประกอบนี้ด้วยวาจาต่อบุคคลอื่นอย่างไร
length()
หมายความว่าองค์ประกอบมีความยาว สตริงมีความยาว คุณพูดว่า "สตริงมีความยาว 20 ตัวอักษร" ใช่ไหม ดังนั้นมันจึงมีความยาว
size()
หมายความว่าองค์ประกอบมีขนาด เช่นไฟล์มีขนาด คุณพูดว่า "ไฟล์นี้มีขนาด 2 MB" ใช่ไหม ดังนั้นจึงมีขนาด
ที่กล่าวว่าสตริงยังสามารถมีขนาด แต่ฉันคาดหวังอย่างอื่นที่นี่ เช่นสตริง UTF-16 อาจมีความยาว 100 อักขระ แต่เนื่องจากอักขระทุกตัวประกอบด้วยสองไบต์ฉันจึงคาดหวังว่าขนาดจะเท่ากับ 200
count()
มันผิดปกติมาก Objective-C ใช้การนับจำนวนองค์ประกอบในอาร์เรย์ หนึ่งอาจโต้แย้งว่าอาร์เรย์มีความยาว (เช่นใน Java) มีขนาด (ในภาษาอื่น ๆ ส่วนใหญ่) หรือมีการนับ อย่างไรก็ตามขนาดอาจเป็นขนาดเป็นไบต์อีกครั้ง (หากรายการอาร์เรย์เป็น 32 บิต int แต่ละรายการคือ 4 ไบต์) และความยาว ... ฉันจะไม่พูดว่า "อาร์เรย์ยาว 20 องค์ประกอบยาว" ซึ่งฟังดูค่อนข้างแปลก ผม. ฉันจะบอกว่า "อาร์เรย์มี 20 องค์ประกอบ" ฉันไม่แน่ใจว่าการนับเป็นการแสดงออกที่ดีมาก แต่ฉันคิดว่าการนับอยู่ที่นี่เป็นแบบสั้น ๆelementCount()
และนั่นทำให้รู้สึกเหมาะสมกับอาร์เรย์มากกว่าความยาว () หรือขนาด ()
หากคุณสร้างออบเจ็กต์ / องค์ประกอบของตนเองในภาษาการเขียนโปรแกรมวิธีที่ดีที่สุดคือใช้องค์ประกอบอื่น ๆ ที่คล้ายกันเนื่องจากโปรแกรมเมอร์ใช้เพื่อเข้าถึงคุณสมบัติที่ต้องการโดยใช้คำนั้น
List.Capacity
คุณสมบัติเช่นกันใน C #