C# एक वस्तु-उन्मुख, टाइप-सुरक्षित और सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा है, जो प्रोग्रामर को उत्पादक बनाने पर केंद्रित है। यह अभिव्यक्ति, सादगी और प्रदर्शन पर ध्यान केंद्रित करके इस उत्पादकता को प्राप्त करने का प्रयास करता है। यह विंडोज, मैक और लिनक्स जैसे विभिन्न प्लेटफॉर्म पर काम करता है।
टाइप-सेफ्टी
सी # एक स्थिर रूप से टाइप की गई भाषा है। इसका मतलब है कि जब आप किसी प्रोग्राम को संकलित करते हैं तो प्रकार सत्यापित होते हैं। यह प्रोग्राम के चलने से पहले ही त्रुटियों के एक बड़े समूह को समाप्त कर देता है।
कचरा संग्रह
स्वचालित स्मृति प्रबंधन C# की एक अनिवार्य विशेषता है। इसमें एक कचरा संग्रहकर्ता है जो कार्यक्रमों के साथ चलता है, अप्रयुक्त स्मृति को पुनः प्राप्त करता है। यह स्पष्ट रूप से स्मृति को हटाने के लिए प्रोग्रामर से बोझ को मुक्त करता है।
.NET पारिस्थितिकी तंत्र एक सामान्य भाषा रनटाइम और बेस क्लास लाइब्रेरी के माध्यम से C# कार्यक्रमों के लिए समर्थन प्रदान करता है। इसमें एक एप्लिकेशन लेयर भी शामिल है जो डेस्कटॉप, मोबाइल या वेब एप्लिकेशन बनाने के लिए लाइब्रेरी प्रदान करती है।
सामान्य भाषा रनटाइम
सामान्य इंगित करता है कि रनटाइम अन्य भाषाओं द्वारा .NET पारिस्थितिकी तंत्र में साझा किया जाता है, जैसे कि C#, Visual Basic, F#, और प्रबंधित C++। CLR कचरा संग्रहण और अपवाद प्रबंधन प्रदान करता है।
C# कंपाइलर जावा के लिए बाइट-कोड के समान कोड को एक मध्यवर्ती भाषा (IL) में परिवर्तित करता है। सीएलआर तब इस आईएल को मशीन के मूल कोड में परिवर्तित करता है, जैसे एक्स -64 या एक्स -86, इसे निष्पादित होने से ठीक पहले। इसे जस्ट-इन-टाइम (JIT) संकलन के रूप में जाना जाता है।
इस मध्यवर्ती भाषा के कंटेनर को असेंबली कहा जाता है। इसमें आईएल कोड के साथ प्रकारों के बारे में जानकारी होती है। यह एक असेंबली को दूसरे को संदर्भित करने की अनुमति देता है। C# प्रतिबिंब का उपयोग करके मेटाडेटा को भी क्वेरी कर सकता है।
बेस क्लास लाइब्रेरी
सीएलआर में असेंबलियों का एक सेट शामिल होता है, जिसे बेस क्लास लाइब्रेरी कहा जाता है। यह आवश्यक कार्यक्षमता प्रदान करता है जो अधिकांश कार्यक्रमों के लिए आवश्यक है, जैसे I/O, फ़ाइल/पाठ प्रसंस्करण, नेटवर्किंग, आदि।
इसमें वे प्रकार भी शामिल हैं जिनकी भाषा को स्वयं की आवश्यकता है, उदा। संग्रह, linq, और async प्रोग्रामिंग, और आपको CLR की सुविधाओं जैसे कचरा संग्रहण और प्रतिबिंब तक पहुंचने देता है।