Programming in C# with Visual Studio

programming-in-c-sharp-advantage-part-9

ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 9

เมธอดเสริม (Extension Method) แปลกกว่าเมธอดสมาชิกอื่น ๆ ที่เวลานิยามเราต้องนิยามมันแบบสแตติกเมธอด (static method เมธอดที่เป็นสมาชิกของคลาส ไม่ใช่ของออพเจ็กต์) แต่เวลาเรียกใช้งานเรากลับต้องเรียกใช้งานแบบอินสแตนซ์เมธอด (instance method เมธอดที่เป็นสมาชิกของออพเจ็กต์ ไม่ใช่ของคลาส) พารามิเตอร์ตัวแรกของเมธอดเป็นตัวกำหนดว่าเมธอดนั้นทำงานกับอะไร ในรูปที่ 1 บรรทัดที่ 9 จะเห็นว่ามีคำสั่ง (โมดิไฟเออร์) this ปรากฏอยู่หน้าพารามิเตอร์ คำสั่ง this ทำหน้าที่กำหนดว่าเมธอดนี้ทำงานกับออพเจ็กต์ (ไม่ใช่กับคลาส)
ภาพหน้าปก ภาษา C# และภาษา CIL เป็นมาตรฐานสากล รับรองโดยองค์กร ISO และ ECMA

ภาษา C# และภาษา CIL เป็นมาตรฐานสากล รับรองโดยองค์กร ISO และ ECMA

ภาษา C# และภาษา CIL เป็นมาตรฐานสากล รับรองโดยองค์กร ISO และ ECMA โดยข้อกำหนดจำเพาะ (specification) ของภาษา C# ปรากฏในเอกสารที่รับรองโดย ISO และ ECMA เอกสารนี้ (ECMA-334 และ ISO/IEC 23270) เป็นอกสารหนาหกร้อยหน้า พรรณนาถึงข้อกำหนดของภาษา C# โดยละเอียดทุกแง่มุม เป็นเอกสารที่เปิดให้สาธรณะชนดาวน์โหลดมาอ่านได้โดยอิสระ
ภาพหน้าปก ข้อดีของภาษา C# : Auto-property initializers

ข้อดีของภาษา C# : Auto-property initializers

ภาษา C# สร้างความอุ่นใจในการใช้งานตัวแปร เพราะคอมไพเลอร์จะกำหนดค่าเริ่มต้นให้ตัวแปรโดยอัตโนมัติ ขณะที่บางภาษา เช่น C ไม่มีหลักประกันเช่นนี้
ภาพประกอบหน้าปกภาษา C# เร็วกว่า ภาษา JAVA

ภาษา C# เร็วกว่า ภาษา JAVA

จากการทดสอบโดยใช้โปรแกรมวัดความเร็ว (benchmark) พบว่า application ที่พัฒนาด้วยภาษา C# มีประสิทธิภาพสูงกว่า application เดียวกันที่ถูกพัฒนาโดยใช้ภาษา Java การวัดความเร็วของตัวภาษาเองล้วน ๆ เป็นสิ่งไม่มีความหมาย เพราะเหมือนกับพูดว่าภาษาไทยหรือภาษาอังกฤษอันไหนเร็วกว่ากัน แต่การวัดความเร็วของapplication ที่ถูกพัฒนาด้วยภาษาใดภาษาหนึ่งเปรียบเทียบกันสามารถทำได้ ผลลัพธ์ที่ได้จะส่อให้เห็นประสิทธิภาพของตัวแปลภาษาและ runtime ของภาษานั้น ๆ
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 7

ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 7

ในภาษาซีชาร์ปเราสามารถกำหนดหน้าที่ใหม่ให้แก่ตัวกระทำ (Operator โอเปอร์เรเตอร์) เพื่อให้มันทำงานแตกต่างไปจากการทำงานปรกติที่ถูกกำหนดไว้โดยปริยายได้ เรียกการทำเช่นนี้ว่าโอเปอร์เรเตอร์โอเวอร์โหลดดิง (operator overloading) ภาษาจาวาไม่มีคุณสมบัตินี้ และเราจะทำเช่นนี้ในภาษาซีมาตรฐานก็ไม่ได้เหมือนกัน