หลายครั้งเมื่อสร้างข้อความเพื่อแสดงต่อผู้ใช้ข้อความนั้นจะมีบางสิ่งที่ฉันต้องการแจ้งให้ลูกค้าทราบ
ฉันจะยกตัวอย่าง: ลูกค้าได้เลือกรายการตั้งแต่ 1 ขึ้นไปและได้คลิกลบ ตอนนี้ฉันต้องการส่งข้อความยืนยันให้กับลูกค้าและฉันต้องการพูดถึงจำนวนรายการที่เขาเลือกเพื่อลดโอกาสที่เขาจะทำผิดพลาดโดยการเลือกรายการจำนวนมากและคลิกลบเมื่อเขาต้องการลบเพียงรายการเดียว พวกเขา
วิธีหนึ่งคือทำให้ข้อความทั่วไปเป็นดังนี้:
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " item(s). Are you sure you want to delete it/them?";
"ปัญหา" ที่นี่คือกรณีที่noofitemselected
1 และเราจะต้องเขียนรายการและมันแทนรายการและพวกเขา
ทางออกปกติของฉันจะเป็นแบบนี้
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " " + (noofitemsselected==1?"item" : "items") + ". Are you sure you want to delete " + (noofitemsselected==1?"it" : "them") + "?";
สิ่งนี้จะค่อนข้างยาวและค่อนข้างน่ารังเกียจอย่างรวดเร็วหากมีการอ้างอิงตัวเลขจำนวนมากภายในรหัสและข้อความจริงอ่านยาก
ดังนั้นคำถามของฉันเป็นเพียง มีวิธีที่ดีกว่าในการสร้างข้อความเช่นนี้หรือไม่?
แก้ไข
ฉันเห็นว่ามีคนจำนวนมากวางสายอย่างมากในกรณีที่ฉันพูดถึงว่าควรแสดงข้อความในกล่องข้อความและได้รับคำตอบว่าจะหลีกเลี่ยงการใช้กล่องข้อความได้อย่างไรและนั่นก็เป็นเรื่องดี .
แต่อย่าลืมว่าปัญหาของการทำให้เป็นพหูพจน์ยังใช้กับข้อความที่อื่น ๆ ในโปรแกรมนอกเหนือจากกล่องข้อความด้วย ตัวอย่างเช่นป้ายกำกับข้างเส้นตารางที่แสดงจำนวนบรรทัดที่เลือกในกริดจะมีปัญหาเดียวกันเกี่ยวกับการทำให้เป็นพหูพจน์
ดังนั้นโดยทั่วไปจะใช้กับข้อความส่วนใหญ่ที่ถูกส่งออกมาจากโปรแกรมไม่ทางใดก็ทางหนึ่งแล้ววิธีแก้ปัญหาก็ไม่ง่ายเหมือนแค่เปลี่ยนโปรแกรมให้ไม่แสดงข้อความอีกต่อไป :)