लोड हो रहा है...

पैरामीटर

एक मेथड नाम greet लिखें जो एक शब्द अंदर ले. कोष्ठक के अंदर string name लिखें. बॉडी में hi, एक स्पेस, और फिर name लिखें — Console.WriteLine("hi " + name); से. Main से कॉल करें greet("lena");. स्क्रीन को एक पंक्ति दिखानी चाहिए: hi lena. अक्षर lena मेथड के अंदर कठोर-कोड नहीं हैं. वे कॉल से आते हैं और उस पास के लिए नाम name में बैठते हैं. यही हस्तांतरण इस पृष्ठ का पाठ है. सार्वजनिक कक्षा का नाम Pine रखें.

कोष्ठक के अंदर एक नाम

मेथड्स पृष्ठ पर ring के बाद कोष्ठक खाली रहे. लेखन पंक्ति हमेशा ding थी. यहाँ कोष्ठक एक टाइप वाला नाम रखते हैं ताकि हर कॉल अलग मान भेज सके. वह टाइप वाला नाम पैरामीटर है. जो मान आप कॉल में लिखते हैं वह उस पास का आर्गुमेंट है.
Pine फाइल खोलें. कक्षा का नाम Pine रहता है. यह पृष्ठ प्रकार का नाम नहीं बदलता. अगर अभी भी Main में केवल खाली कोष्ठक वाला ring(); डेमो है और आप इस पृष्ठ के आकार के लिए तैयार हैं तो उसे हटाएँ. कोई भी बचा foreach हटाएँ. कोई भी ReadLine पंक्ति हटाएँ. जो फाइल आप रखते हैं उसमें टाइप की प्रतीक्षा नहीं है.
Main के बाहर, फिर भी कक्षा की ब्रेसेस के अंदर, इस शुरुआती आकार पर हेडर static void से शुरू होता है. कोष्ठक के बीच string और फिर name बैठते हैं — पहले प्रकार, फिर पैरामीटर नाम. C# इस आकार पर प्रकार string को छोटे s से लिखता है. बॉडी name को बिना उद्धरण के इस्तेमाल करती है और स्थिर पाठ "hi " से प्लस से जोड़ती है. "hi " के आसपास उद्धरण स्थिर अक्षर चिह्नित करते हैं. नंगा name कॉल से आए मान को चिह्नित करता है. चलाने से पहले फाइल सहेजें. पहला पूरा प्रोग्राम अगले बॉक्स में है.

वह फाइल जो आप रखते हैं

यह वह संस्करण है जिसे आप पहले चलाते हैं. Main कोष्ठक के अंदर मान वाला कॉल रखता है. greet वह लेखन पंक्ति रखता है जो उस मान का उपयोग करती है.

greet takes a string

csharp
using System;

public class Pine
{
    public static void Main()
    {
        greet("lena");
    }

    static void greet(string name)
    {
        Console.WriteLine("hi " + name);
    }
}

ऊपर से पढ़ें. using System; छोटे नाम तैयार करता है. public class Pine प्रकार का नाम रखता है. public static void Main() वह जगह है जहाँ रनटाइम शुरू होता है. कॉल greet("lena"); पाठ को पैरामीटर में भेजता है. static void greet(string name) रखता है Console.WriteLine("hi " + name);. स्क्रीन पर एक पंक्ति: hi lena.

dotnet run से चलाएँ. प्रोग्राम एक पंक्ति लिखता है और रुक जाता है. वह आपके टाइप की प्रतीक्षा नहीं करता. अगर dotnet run प्रतीक्षा करे तो फाइल में अभी भी ReadLine है. वह पंक्ति हटाएँ और greet("lena"); तथा ऊपर का greet मेथड रखें. स्क्रीन hi lena दिखाती है. अगर स्क्रीन केवल ding दिखाए तो पुराना ring(); कॉल अभी भी चल रहा है. अगर स्क्रीन अक्षर name दिखाए तो किसी लेखन पंक्ति में उस शब्द पर उद्धरण हैं: Console.WriteLine("name");. गलत पंक्ति दिखाने वाली स्क्रीन के लिए आप .NET SDK फिर से इंस्टॉल नहीं करते.

एक पूरा रन क्रम से चलाएँ. C# Main से शुरू होता है. कॉल greet("lena"); पाठ lena को पैरामीटर name में भेजता है. greet के अंदर WriteLine बनाता है hi, एक स्पेस, और फिर वह मान, इसलिए स्क्रीन hi lena दिखाती है. फिर greet खत्म होता है और Main खत्म होता है. आपने Main के अंदर Console.WriteLine("hi lena"); नहीं लिखा. स्थिर भाग एक बार greet के नीचे लिखा और कॉल से lena भेजा.
पैरामीटर तब तक खाली रहता है जब तक कॉल उसे भर न दे. पहले कॉल पर name केवल उस पास के लिए lena रखता है. बाद के कॉल पर "sam" के साथ वही पैरामीटर नाम अलग मान रखता है. दूसरे शब्द के लिए आप दूसरा मेथड नहीं बनाते; आप उसी हेडर में नया आर्गुमेंट भेजते हैं.

वही मेथड, अलग शब्द

केवल Main बदलें ताकि वह greet को दो अलग आर्गुमेंट से दो बार कॉल करे. स्वयं greet मेथड को अकेला छोड़ें.

greet with two arguments

csharp
using System;

public class Pine
{
    public static void Main()
    {
        greet("lena");
        greet("sam");
    }

    static void greet(string name)
    {
        Console.WriteLine("hi " + name);
    }
}

यह दूसरी फाइल है. यह वही मेथड दो कॉल्स के साथ सिखाती है. dotnet run चलाएँ. स्क्रीन को दो पंक्तियाँ दिखानी चाहिए: hi lena, फिर hi sam. पहला कॉल name को lena से भरता है. दूसरा कॉल name को sam से भरता है. आपने WriteLine को greet के नीचे कॉपी नहीं किया. आपने केवल कॉल्स के अंदर मान बदले.
अगर आप greet() को खाली कोष्ठक से कॉल करें जबकि हेडर अभी भी string name कहता है, बिल्ड एक त्रुटि लिखता है — कॉल को एक string देना चाहिए. अगर मेथड्स पृष्ठ का पुराना खाली-कोष्ठक ring(); उसी Main में रह जाए, वह कॉल greet से मेल नहीं खाता, और बचा ring मेथड अभी भी आपकी hi पंक्तियों के पास ding लिख सकता है. Main को इस पाठ के greet कॉल्स तक साफ़ करें. दो पंक्तियाँ देखने के बाद, अगर सहेजने वाला आकार एक कॉल है तो रखी एक-कॉल फाइल वापस रखें: Main में एक greet("lena");.

मान के रूप में पूर्ण संख्या

पैरामीटर केवल पाठ के लिए नहीं हैं. दूसरा मेथड लिखें जो int नाम n ले और उसे लिखे. Main से पूर्ण संख्याओं से कॉल करें जैसे show(9); और show(4);.

show takes an int

csharp
using System;

public class Pine
{
    public static void Main()
    {
        show(9);
        show(4);
    }

    static void show(int n)
    {
        Console.WriteLine(n);
    }
}

यह तीसरी फाइल है. यह greet आकार के लिए रखी फाइल नहीं है. dotnet run चलाएँ. स्क्रीन को दो पंक्तियाँ दिखानी चाहिए: 9, फिर 4. कॉल में 9 या 4 के आसपास उद्धरण नहीं — वे int मान हैं, पाठ नहीं. show के अंदर Console.WriteLine(n) आया हुआ संख्या लिखता है. वे दो पंक्तियाँ देखने के बाद greet डेमो वापस रखें. दोनों संस्करण वैध C# हैं. वे वही विचार सिखाते हैं: कॉल मान भेजता है, पैरामीटर उसे बॉडी के लिए रखता है.
int रन एक बार और पढ़ें. पहला कॉल n को 9 सेट करता है और 9 लिखता है. दूसरा कॉल n को 4 सेट करता है और 4 लिखता है. नाम n हेडर में एक बार int n के रूप में घोषित होता है. हर कॉल उस पास के लिए नया मान देता है. show में उद्धृत शब्द भेजना, जैसे show("nine");, इस आकार पर int से मेल नहीं खाता — बिल्ड त्रुटि लिखता है. greet में नंगी संख्या भेजना, जैसे greet(3);, string से मेल नहीं खाता — बिल्ड फिर त्रुटि लिखता है. आर्गुमेंट प्रकार को पैरामीटर प्रकार से मिलाएँ.

एक आम गलती पैरामीटर के नाम को पाठ के रूप में लिखना है: Console.WriteLine("name");. वह अक्षर n-a-m-e लिखता है. वह lena नहीं लिखता. जब आप स्क्रीन पर आर्गुमेंट के अक्षर चाहते हैं तो Console.WriteLine("hi " + name) को name के आसपास उद्धरण के बिना रखें. दूसरी गलती पैरामीटर को मेथड हेडर की जगह Main में घोषित करना है. टाइप वाला नाम greet(...) या show(...) के अंदर आता है, इस पृष्ठ पर Main के कोष्ठक में नहीं. ring पृष्ठ के खाली () तब पर्याप्त नहीं जब हेडर string name माँगे.

void अभी भी मतलब है कॉल से कुछ वापस नहीं आता. आप मेथड के कोष्ठक में string name या int n रख सकते हैं, कॉल में मिलता मान भेज सकते हैं, और बॉडी से वह मान लिख सकते हैं. दो आर्गुमेंट वाले दो कॉल मेथड कॉपी किए बिना दो अलग पंक्तियाँ लिखते हैं. अगला पृष्ठ return है, जहाँ मेथड बॉडी के अंदर केवल लिखने के बजाय Main को एक मान वापस सौंपता है.

स्क्रीन आर्गुमेंट रखती है

जो फाइल आप रखते हैं वह hi lena लिखती है जब Main कॉल करता है greet("lena");. नाम name लेखन पंक्ति में बिना उद्धरण के है. name के आसपास उद्धरण अक्षर लिखते हैं, आर्गुमेंट नहीं. कॉल पर खाली () उस हेडर से मेल नहीं खाते जो string name माँगता है.

🧠 अपने ज्ञान की परीक्षा करें

शुरू करने के लिए तैयार

अपने ज्ञान की परीक्षा करें

इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं

❓
5
प्रश्न
🎯
70%
पास करने के लिए
♾️
∞
समय
🔄
∞
प्रयास

📝 निर्देश

  • हर प्रश्न को ध्यान से पढ़ें
  • हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
  • आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
  • आपकी प्रगति शीर्ष पर दिखाई जाएगी