This article is currently in the process of being translated into Hindi (~99% done).
Hello world explained
पिछले अध्याय में, हमने console में अपने पहले C # एप्लिकेशन में code का एक टुकड़ा लिखने की कोशिश की। कुछ वास्तविक प्रगति को देखने के लिए, हमने अपने द्वारा उपयोग किए गए code की लाइनों के बारे में अधिक विस्तार से नहीं जाना, इसलिए यह अध्याय Hello World उदाहरण कोड का स्पष्टीकरण है। जैसा कि आप शायद code से देख सकते हैं, कुछ लाइनें समान दिखती हैं, इसलिए हम उन्हें अलग-अलग स्पष्टीकरण के लिए समूहों में वापस लाएंगे। आइए हमारे code में सबसे छोटे और सबसे सामान्य अक्षरों से शुरू करें: {और}। उन्हें अक्सर curly ब्रेसिज़ के रूप में संदर्भित किया जाता है, और C # में, वे code के एक तार्किक ब्लॉक की शुरुआत और अंत को चिह्नित करते हैं। curly ब्रेसिज़ का उपयोग कई अन्य भाषाओं में किया जाता है, जिनमें C ++, Java, Javascript और कई अन्य शामिल हैं। जैसा कि आप code में देख सकते हैं, उनका उपयोग code की कई पंक्तियों को एक साथ लपेटने के लिए किया जाता है। बाद के उदाहरणों में, यह स्पष्ट हो जाएगा कि उनका उपयोग कैसे किया जाता है।
अब शुरू से शुरू करते हैं:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Using एक कीवर्ड है, जिसे संपादक द्वारा नीले रंग के साथ हाइलाइट किया गया है। using कीवर्ड एक नाम स्थान(Namespace) आयात करता है, और एक namespace, classes का एक संग्रह है। classes हमें कुछ प्रकार की कार्यक्षमता लाती हैं, और जब Visual Studio जैसे उन्नत IDE के साथ काम करते हैं, तो यह आमतौर पर हमारे लिए तुच्छ code के कुछ हिस्सों का निर्माण करेगा। इस मामले में, इसने हमारे लिए एक class तैयार किया, और उन namespaces का आयात किया जिनकी आवश्यकता होती है या जिन्हें आमतौर पर उपयोग करने की अपेक्षा की जाती है। इस मामले में, 5 namespaces हमारे लिए आयात किए जाते हैं, जिनमें से प्रत्येक में बहुत सारी उपयोगी classes हैं। उदाहरण के लिए, हम console class का उपयोग करते हैं, जो सिस्टम namespace का एक हिस्सा है।
दूसरी ओर, हम वास्तव में अभी तक System.Linq नाम स्थान का उपयोग नहीं करते हैं (उदाहरण के लिए), इसलिए यदि आप एक शुद्धतावादी हैं, तो आप इस लाइन को हटाने का विकल्प चुन सकते हैं, लेकिन इस समय बहुत फर्क नहीं पड़ेगा।
जैसा कि आप देख सकते हैं, हमें अपने namespaces भी मिलते हैं:
namespace ConsoleApp1
namespace ConsoleApp1 अब इस एप्लिकेशन का मुख्य namespace है, और नई classes डिफ़ॉल्ट रूप से इसका एक हिस्सा होंगी। जाहिर है, आप इसे बदल सकते हैं, और दूसरे namespace में classes बना सकते हैं। उस स्थिति में, आपको किसी अन्य namespace की तरह इस नए namespace का उपयोग अपने आवेदन में उपयोग करने के लिए करना होगा।
अगला, हम अपनी class को परिभाषित करते हैं। चूँकि C # वास्तव में एक ऑब्जेक्ट ओरिएंटेड भाषा है, code की प्रत्येक पंक्ति जो वास्तव में कुछ करती है, एक class के अंदर लपेटी जाती है। इस स्थिति में, क्लास को प्रोग्राम(program) कहा जाता है:
class Program
हमारे पास एक ही फ़ाइल में और भी classes हो सकती हैं। अभी के लिए, हमें केवल एक class की आवश्यकता है। एक class में कई चर(variables), गुण(properties) और विधियां(methods) हो सकती हैं, अवधारणाएं(concepts) हम बाद में गहराई से जाएंगे। अभी के लिए, आपको यह जानना होगा कि हमारी वर्तमान class में केवल एक विधि(method) है और कुछ नहीं। इसे इस तरह घोषित किया जाता है:
static void Main(string[] args)
यह लाइन इस उदाहरण में शायद सबसे जटिल है, तो चलिए इसे थोड़ा अलग अलग करते हैं। पहला शब्द static है। static कीवर्ड हमें बताता है कि इस method को class को तुरंत इन्स्तांत किए बिना पहुंच योग्य होना चाहिए, लेकिन इसके बारे में अधिक classes के अध्याय में जाएंगे।
अगला कीवर्ड void है, और हमें बताता है कि इस method को क्या लौटना चाहिए। उदाहरण के लिए, यह एक integer या की एक string हो सकती है, लेकिन इस मामले में, हम नहीं चाहते कि हमारा तरीका कुछ भी लौटाए (C # कुछ भी नहीं(nothing) की अवधारणा को व्यक्त करने के लिए कीवर्ड void का उपयोग करता है)।
अगला शब्द Main है, जो केवल हमारी पद्धति का नाम है। यह पद्धति हमारे आवेदन का तथाकथित प्रवेश-बिंदु है, अर्थात्, execute किए जाने वाले code का पहला टुकड़ा है, और हमारे उदाहरण में, execute होने वाला एकमात्र टुकड़ा है।
अब, विधि के नाम के बाद, कोष्ठकों () के एक सेट के भीतर arguments का एक सेट निर्दिष्ट किया जा सकता है। हमारे उदाहरण में, हमारी विधि केवल एक argument लेती है, जिसे args कहा जाता है। तर्क का प्रकार एक string है, या अधिक सटीक होने के लिए, स्ट्रिंग की एक सरणी (array), लेकिन बाद में उस पर अधिक जाएंगे। यदि आप इसके बारे में सोचते हैं, तो यह सही समझ में आता है, क्योंकि विंडोज applications को हमेशा वैकल्पिक सेट के arguments के साथ बुलाया जा सकता है। इन arguments को हमारी मुख्य विधि के लिए text string के रूप में pass किया जाएगा।
और बस।आपको पहले C# एप्लिकेशन की एक बुनियादी समझ होनी चाहिए अब, साथ ही जो एक console एप्लीकेशन को काम करता है उसके मूल सिद्धांत।