C# เป็นภาษาโปรแกรมเชิงวัตถุ ปลอดภัยต่อการพิมพ์ และใช้งานทั่วไป ซึ่งเน้นที่การทำให้โปรแกรมเมอร์มีประสิทธิผล มันพยายามที่จะบรรลุประสิทธิภาพการทำงานนี้ผ่านการแสดงออก ความเรียบง่าย และการมุ่งเน้นที่ประสิทธิภาพ ใช้งานได้บนแพลตฟอร์มต่างๆ เช่น Windows, Mac และ Linux
ประเภทความปลอดภัย
C # เป็นภาษาที่พิมพ์แบบคงที่ ซึ่งหมายความว่าประเภทจะได้รับการยืนยันเมื่อคุณคอมไพล์โปรแกรม ซึ่งจะช่วยขจัดข้อผิดพลาดจำนวนมากก่อนที่โปรแกรมจะทำงาน
การเก็บขยะ
การจัดการหน่วยความจำอัตโนมัติเป็นคุณสมบัติที่สำคัญของ C# มีตัวรวบรวมขยะที่ทำงานพร้อมกับโปรแกรม เรียกคืนหน่วยความจำที่ไม่ได้ใช้ ซึ่งช่วยให้โปรแกรมเมอร์สามารถจัดสรรหน่วยความจำใหม่ได้อย่างชัดเจน
ระบบนิเวศ .NET ให้การสนับสนุนโปรแกรม C# ผ่าน Common Language Runtime และ Base Class Library นอกจากนี้ยังมีชั้นแอปพลิเคชันที่มีไลบรารีสำหรับสร้างแอปพลิเคชันเดสก์ท็อป อุปกรณ์เคลื่อนที่ หรือเว็บ
รันไทม์ภาษาทั่วไป
Common ระบุว่ารันไทม์แชร์โดยภาษาอื่นในระบบนิเวศ .NET เช่น C#, Visual Basic, F# และ C++ ที่มีการจัดการ CLR จัดเตรียมการรวบรวมขยะและการจัดการข้อยกเว้น
คอมไพเลอร์ C# แปลงโค้ดเป็นภาษากลาง (IL) ซึ่งคล้ายกับโค้ดไบต์สำหรับ Java จากนั้น CLR จะแปลง IL นี้เป็นโค้ดเนทีฟของเครื่อง เช่น X-64 หรือ X-86 ก่อนดำเนินการ สิ่งนี้เรียกว่าการรวบรวมแบบทันเวลาพอดี (JIT)
คอนเทนเนอร์สำหรับภาษากลางนี้เรียกว่าแอสเซมบลี มันมีข้อมูลเกี่ยวกับประเภทพร้อมกับรหัส IL อนุญาตให้แอสเซมบลีหนึ่งอ้างอิงถึงอีกแอสเซมบลี C# ยังสามารถสืบค้นข้อมูลเมตาได้โดยใช้การสะท้อนกลับ
ไลบรารีคลาสพื้นฐาน
ชุดของแอสเซมบลีรวมอยู่ใน CLR เรียกว่าไลบรารีคลาสพื้นฐาน มีฟังก์ชันที่จำเป็นที่จำเป็นสำหรับโปรแกรมส่วนใหญ่ เช่น I/O การประมวลผลไฟล์/ข้อความ เครือข่าย ฯลฯ
รวมถึงประเภทที่ภาษาต้องการด้วย เช่น การรวบรวม linq และการเขียนโปรแกรม async และช่วยให้คุณเข้าถึงคุณลักษณะของ CLR เช่นการรวบรวมขยะและการสะท้อนกลับ