ฉันเริ่มต้นสตริงของฉันเป็น NULL เสมอโดยคิดว่า NULL หมายถึงการไม่มีค่าและ "" หรือ String.Empty เป็นค่าที่ถูกต้อง ฉันได้เห็นตัวอย่างเพิ่มเติมของโค้ดเมื่อเร็ว ๆ นี้โดยที่ String.Empty ถือเป็นค่าเริ่มต้นหรือแสดงถึงไม่มีค่า สิ่งนี้ทำให้ฉันแปลกประหลาดโดยประเภทที่เพิ่มใหม่ว่างใน c # ดูเหมือนว่าเรากำลังก้าวถอยหลังด้วยสตริงโดยไม่ใช้ NULL เพื่อแสดงถึง 'ไม่มีค่า'
คุณใช้อะไรเป็นตัวเริ่มต้นเริ่มต้นและทำไม?
แก้ไข: จากคำตอบที่ฉันคิดต่อไป
การหลีกเลี่ยงการจัดการข้อผิดพลาดหากค่าไม่ควรเป็นโมฆะเหตุใดจึงตั้งค่าเป็นค่าเริ่ม
NULL
ต้นตั้งแต่แรก บางทีอาจเป็นการดีกว่าที่จะระบุข้อผิดพลาดในสถานที่ที่เกิดขึ้นแทนที่จะปกปิดข้อผิดพลาดทั้งหมดในโค้ดเบสของคุณการหลีกเลี่ยงการตรวจสอบโมฆะหากคุณเบื่อที่จะทำการตรวจสอบค่าว่างในโค้ดแล้วจะไม่เป็นการดีกว่าที่จะสรุปการตรวจสอบค่าว่าง บางทีห่อ (หรือขยาย!) วิธีการสตริงเพื่อให้
NULL
ปลอดภัย? จะเกิดอะไรขึ้นถ้าคุณใช้งานอยู่ตลอดเวลาString.Empty
และโมฆะเกิดขึ้นเพื่อทำงานในระบบของคุณคุณเริ่มเพิ่มการNULL
ตรวจสอบหรือไม่?
ฉันอดไม่ได้ที่จะกลับความเห็นว่ามันคือความเกียจคร้าน DBA ใด ๆ จะตบคุณเก้าวิธีเพื่อโง่ถ้าคุณใช้ '' แทนnull
ในฐานข้อมูลของเขา ฉันคิดว่าหลักการเดียวกันนี้ใช้ในการเขียนโปรแกรมและควรมีใครสักคนที่จะตีหัวคนที่ใช้String.Empty
มากกว่าที่NULL
จะไม่แสดงคุณค่า
คำถามที่เกี่ยวข้อง