จากC # /. NET Little Wonders: สมาชิก Expression-Bodied ใน C # 6 :
ดังนั้นคุณควรใช้สิ่งนี้? ทุกอย่างมีสไตล์ ความกล้าของฉันคือการจำกัด สิ่งนี้ให้เป็นสำนวนง่าย ๆ และข้อความที่สามารถเข้าใจได้อย่างชัดเจนตั้งแต่แรกเห็น
(เน้นที่เหมือง; ดูอัปเดต 1 ด้านล่าง)
เพิ่มเติมจากบทสรุปของบทความข้างต้น:
ดังนั้นตอนนี้ C # 6 ทำให้เราสามารถระบุคุณสมบัติและเมธอดของ get-only ที่มีนิพจน์ได้ วิธีนี้จะช่วยลดภาระไวยากรณ์ของวิธีการง่ายๆเพื่อให้โค้ดของคุณกระชับยิ่งขึ้น
อย่างไรก็ตามด้วยทุกสิ่งให้ใช้วิจารณญาณของคุณว่าจะเหมาะสมกับสถานการณ์ที่กำหนดหรือไม่ เมื่อนิพจน์นั้นยาวหรือซับซ้อนมากการใช้ไวยากรณ์แบบเต็มอาจยังอ่านได้ง่ายกว่า
และอีกหนึ่งคำพูดเกี่ยวกับประสิทธิภาพการทำงานเนื่องจากปัญหาประสิทธิภาพสามารถเล่นได้เมื่อมันเหมาะสมที่จะใช้คุณสมบัติภาษาบางอย่าง:
ตอนนี้คุณอาจถามว่าสิ่งนี้มีผลกระทบต่อประสิทธิภาพที่รันไทม์หรือไม่? ที่จริงแล้วคำตอบคือไม่มี นี่เป็นเพียงน้ำตาลเชิงประโยคที่ขยายเข้าไปใน IL เดียวกันกับการเขียนทั้งร่าง มันไม่ได้สร้างตัวแทนมันเป็นเพียงการยืมไวยากรณ์การแสดงออกแลมบ์ดาเพื่อลดความซับซ้อนของการเขียนเนื้อหาที่เรียบง่ายซึ่งส่งผลให้เกิดการแสดงออก
(เน้นที่ผู้เขียน)
อัปเดต 1: @ JörgWMittagพูด
มันไม่สมเหตุสมผล "จำกัด สิ่งนี้เป็นนิพจน์และข้อความธรรมดา" หรือไม่ ฮะ? มันไม่ทำงานแม้แต่กับข้อความสั่งเฉพาะกับนิพจน์เท่านั้น!
ดูเหมือนว่าผู้เขียนต้นฉบับอาจมีการสะกดผิด เพื่อชี้แจงจากใหม่และปรับปรุง C # 6.0 :
ฟังก์ชั่น bodied ของนิพจน์เป็นการลดความซับซ้อนของไวยากรณ์ใน C # 6.0 ฟังก์ชั่นเหล่านี้เป็นฟังก์ชั่นที่ไม่มีเนื้อหาคำสั่ง แต่คุณจะใช้มันด้วยนิพจน์หลังจากการประกาศฟังก์ชัน
ต้องมีความชัดเจนนี้ไม่ได้ทำให้วิธีการหรือทรัพย์สินแสดงออก มันใช้ไวยากรณ์ Expression เพื่อลดบรรทัดของรหัส (และจำนวนของเครื่องหมายปีกกา)
คำแนะนำดั้งเดิมของฉันยังคงมีอยู่: ใช้เมื่อมันทำให้โค้ดของคุณชัดเจนและเข้าใจง่ายไม่ใช่เพราะคุณสามารถใช้มันได้