C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।

c#एक बहु-प्रतिमान, प्रबंधित, वस्तु-उन्मुख प्रोग्रामिंग भाषा है जो Microsoft द्वारा .NET के साथ मिलकर बनाई गई है। C # को .NET .NET, .NET फ्रेमवर्क, मोनो और ज़ामरीन जैसे किसी भी .NET कार्यान्वयन के साथ उपयोग किया जा सकता है।

संस्करण

+---------+---------------------------------------------------------+----------------+----------------------------------+---------------------------------+
| Version |                  Language specification                 |      Date      |           .NET Version           |          Visual Studio          |
|         +---------------+----------------+------------------------+                |                                  |                                 |
|         |      Ecma     |     ISO/IEC    |        Microsoft       |                |                                  |                                 |
+---------+---------------+----------------+------------------------+----------------+----------------------------------+---------------------------------+
| C# 1.0  | December 2002 | April 2003     | January 2002           | January 2002   | .NET Framework 1.0               | Visual Studio .NET 2002         |
+---------+               |                +------------------------+----------------+----------------------------------+---------------------------------+
| C# 1.1  |               |                | October 2003           | April 2003     | .NET Framework 1.1               | Visual Studio .NET 2003         |
| C# 1.2  |               |                |                        |                |                                  |                                 |
+---------+---------------+----------------+------------------------+----------------+----------------------------------+---------------------------------+
| C# 2.0  | June 2006     | September 2006 | September 2005         |                | .NET Framework 2.0               | Visual Studio .NET 2005         |
|         |               |                |                        |                | .NET Framework 3.0               | Visual Studio .NET 2008         |
+---------+---------------+----------------+------------------------+----------------+----------------------------------+---------------------------------+
| C# 3.0  |                -               | August 2007            |                | .NET Framework 2.0 (Except LINQ) | Visual Studio 2008              |
|         |                                |                        | November 2007  | .NET Framework 3.0 (Expect LINQ) |                                 |
|         |                                |                        |                | .NET Framework 3.5               |                                 |
+---------+                                +------------------------+----------------+----------------------------------+---------------------------------+
| C# 4.0  |                                | April 2010             | April 2010     | .NET Framework 4                 | Visual Studio 2010              |
+---------+---------------+----------------+------------------------+----------------+----------------------------------+---------------------------------+
| C# 5.0  | December 2017 | December 2018  | June 2013              | August 2012    | .NET Framework 4.5               | Visual Studio 2012              |
|         |               |                |                        |                |                                  | Visual Studio 2013              |
+---------+---------------+----------------+------------------------+----------------+----------------------------------+---------------------------------+
|         |                -               | Draft                  |                | .NET Framework 4.6               | Visual Studio 2015              |
| C# 6.0  |                                |                        | July 2015      | .NET Core 1.0                    |                                 |
|         |                                |                        |                | .NET Core 1.1                    |                                 |
+---------+                                +------------------------+----------------+----------------------------------+---------------------------------+
| C# 7.0  |                                | Specification proposal | March 2017     | .NET Framework 4.7               | Visual Studio 2017 version 15.0 |
+---------+                                +------------------------+----------------+----------------------------------+---------------------------------+
| C# 7.1  |                                | Specification proposal | August 2017    | .NET Core 2.0                    | Visual Studio 2017 version 15.3 |
+---------+                                +------------------------+----------------+----------------------------------+---------------------------------+
| C# 7.2  |                                | Specification proposal | November 2017  |                 -                | Visual Studio 2017 version 15.5 |
+---------+                                +------------------------+----------------+----------------------------------+---------------------------------+
|         |                                | Specification proposal |                | .NET Core 2.1                    | Visual Studio 2017 version 15.7 |
| C# 7.3  |                                |                        | May 2018       | .NET Core 2.2                    |                                 |
|         |                                |                        |                | .NET Framework 4.8               |                                 |
+---------+                                +------------------------+----------------+----------------------------------+---------------------------------+
| C# 8    |                                | Specification proposal | September 2019 | .NET Core 3.0                    | Visual Studio 2019 version 16.3 |
+---------+--------------------------------+------------------------+----------------+----------------------------------+---------------------------------+
| C# 9.0  |                                | Specification proposal | September 2020 | .NET 5.0                         | Visual Studio 2019 version 16.8 |
+---------+--------------------------------+------------------------+----------------+----------------------------------+---------------------------------+

नए विशेषताएँ

C # के संस्करण 1.0 / 1.2 और 2.0 दोनों ECMA(वेब-संस्करण ) और ISO / IEC मानक। नवीनतम ECMA संस्करण मेल खाता है] Microsoft C # 5.0 विनिर्देशन। Microsoft से C # 3.0 और C # 5.0के साथ-साथ C # 6.0ड्राफ्ट।

भाषा की प्रकार प्रणाली मूल रूप से स्थिर थी, जिसमें केवल स्पष्ट चर घोषणाएं थीं। var(C # 3.0) और ट्यूटोरियल्सएक्स 1}}(C # 4.0) ने इसे अंतर्निहित वैरिएबल टाइपिंग के लिए टाइप इंफेक्शन का उपयोग करने, और उपभोग करने की अनुमति दी क्रमशः डायनामिक टाइप सिस्टम। प्रतिनिधि, विशेष रूप से अनाम विधियों (C # 2.0) और लैम्ब्डा अभिव्यक्तियों (C # 3.0) के लिए शाब्दिक बंद समर्थन के साथ, भाषा को कार्यात्मक प्रोग्रामिंग के लिए उपयोग करने की अनुमति देते हैं।

C # 5.0 ने asyncऔर कुछ गलतियां}}कीवर्ड।

C # 6.0 ने अशक्त प्रचार ऑपरेटर{{XII}} पेश किया, अपवाद फ़िल्टर, स्ट्रिंग प्रक्षेप, और कई अन्य विशेषताएंजो सरल कोड लिखने में मदद करती हैं।

C # 7.0 ने कई out तर्क, पैटर्न मिलान, एक वापसी मूल्य के लिए ट्यूपल्स, is - भाव और switch स्टेटमेंट पैटर्न, डिकंस्ट्रक्शन, स्थानीय कार्यों और कुछ और के साथ पेश किए।

C # 7.1 ने जेनेरिक पैटर्न मिलान, अनुमानित टपल तत्व नाम, default शाब्दिक भाव, async मुख्य और कुछ और पेश किए।

C # 7.2 ने private protected पेश किया, गैर-अनुगामी नाम तर्क, बेस स्पेसियर के बाद डिजिटल विभाजक, रेफ कंडीशनल एक्सप्रेशन, मूल्य प्रकारों के लिए संदर्भ शब्दार्थ, और कुछ और।

C # 7.3 ने ऐसी विशेषताएं प्रस्तुत कीं जो सुरक्षित कोड को असुरक्षित कोड, नए संकलक विकल्प, out क्षेत्र, संपत्ति और कंस्ट्रक्टर इनिशियलाइज़र में परिवर्तनीय घोषणाओं के उपयोग के रूप में प्रदर्शन करने में सक्षम बनाती हैं, == और {{X3}} का समर्थन करती हैं। टपल प्रकार पर और कुछ और।

C # 8.0 ने अशक्त प्रकारशुरू किए, जो उत्पन्न करता है संकलक के शून्य के बारे में संभावित चेतावनी के बारे में चेतावनी जब तक कि कोड स्पष्ट रूप से व्यक्त नहीं करता है कि एक चर null (उदाहरण के लिए, string? foo एक चर है जो शून्य हो सकता है), async धाराएँ जो समान रूप से काम करती है-IoT और क्लाउड एकीकरण और कुछ अन्य / a के साथ इंटरफेस में परिवर्तन को रोकने के लिए डिफ़ॉल्ट इंटरफ़ेस विधियां > सुधार।

C # 9.0 ने बहुत सी नई अवधारणाओं और सुविधाओं को पेश किया जैसे कि रिकॉर्ड्स / a>, शीर्ष-स्तरीय कथन, निजी मिलान संवर्द्धनऔर बहुत कुछ।

संकलन आम तौर पर Microsoft इंटरमीडिएट भाषा (MSIL) में किया जाता है, जो तब कॉमन लैंग्वेज रनटाइम (CLR) में निष्पादन के दौरान देशी कोड (और कैश्ड) के लिए संकलित होता है। हालाँकि, NGen(.NET फ्रेमवर्क) और AOT (मोनो के लिए) का मतलब है कि सी # कोड को मूल छवि में सीधे संकलित किया जा सकता है। इसके अतिरिक्त, कुछ चौखटे (उदाहरण के लिए, .NET माइक्रो फ्रेमवर्क) CIL दुभाषियों के रूप में कार्य करता है, जिसमें कोई JIT नहीं है।

C # में जेनेरिकों को रनटाइम द्वारा भाग में प्रदान किया जाता है, C ++ टेम्प्लेट के विपरीत (टेम्प्लेट संकलन समय पर हल किए जाते हैं), या जावा के जेनरिक (जो टाइप-इरेज़र का उपयोग करते हैं)।

Windows, macOS और Linux के लिए .NET Coreके संयोजन के साथ,


नमस्ते विश्व उदाहरण:

using System;

class Hello
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

कक्षाओं का उपयोग करके हैलो वर्ल्ड उदाहरण:

using System;

namespace HelloWorldUsingClasses
{
    class Greeting
    {
        public static void SayHello()
        {
            Console.WriteLine("Hello World!");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Greeting.SayHello();
        }
    }
}

ढेर अतिप्रवाह संसाधन


पूछे जाने वाले प्रश्न


साधन


पुस्तकें


ट्यूटोरियल


सी # भाषा का भविष्य

नई सुविधाओं का योगदान और प्रस्ताव करें यहां


डेमो प्रोजेक्ट्स


सी # ऑनलाइन आईडीई


C # ऑफ़लाइन आईडीई

संबंधित टैग