-
C# में कंपोजिशन बनाम एग्रीगेशन: अंतर
दोनों Has-A संबंध दर्शाते हैं, लेकिन **जीवनचक्र स्वामित्व** में अंतर है। कंपोजिशन (Composition) - मजबूत स्वामित्व Part-of संबंध: भाग मालिक के बिना अस्तित्व में नहीं रह सकता। पैरेंट नष्ट होता है → चाइल्ड भी नष्ट हो जाता है। चाइल्ड केवल एक पैरेंट से संबंधित होता है। public class Engine { ... } p
-
C# में कंपाउंड असाइनमेंट ऑपरेटर्स: +=, -=, *=, /=, %=, आदि
कंपाउंड असाइनमेंट ऑपरेटर्स ऑपरेशन और असाइनमेंट को संक्षिप्त करते हैं: x += y ≡ x = x + y। सभी ऑपरेटर्स ऑपरेटरनामसमतुल्य +=एडिशन असाइनमेंटx = x + y -=सब्ट्रैक्शन असाइनमेंटx = x - y *=मल्टीप्लिकेशन असाइनमेंटx = x * y /=डिवीजन असाइनमेंटx = x / y %=मॉड्यूलो असाइनमेंटx = x % y &=बिटवाइज़ AND अस
-
C# में कंस्ट्रक्टर ओवरलोडिंग: एकाधिक कंस्ट्रक्टर्स
कंस्ट्रक्टर ओवरलोडिंग: एक ही क्लास में एक ही नाम के एकाधिक कंस्ट्रक्टर्स, लेकिन **अलग पैरामीटर लिस्ट** (संख्या, टाइप, क्रम)। उदाहरण this.StudentName; } class Program { static void Main(string[] args) { Student s1 = new Student(); Student s2
-
C# में कंस्ट्रक्टर्स: परिभाषा और बुनियादी उदाहरण
कंस्ट्रक्टर एक विशेष मेथड है जो ऑब्जेक्ट बनने पर स्वचालित रूप से आह्वान होता है। इसका नाम क्लास के समान होता है, कोई रिटर्न टाइप नहीं। बुनियादी उदाहरण using System; public class Department { public Department() { Console.WriteLine(कंस्ट्रक्टर आह्वान हुआ); } public sta
-
C# में निर्णय लेना (Decision Making): if, if-else, switch
निर्णय लेने की संरचनाएं शर्तों का मूल्यांकन करती हैं और तदनुसार कोड निष्पादित करती हैं। 1. if स्टेटमेंट int x = 5; if (x < 20) { Console.WriteLine(x 20 से कम है); } Console.WriteLine(x का मान: {0}, x); 2. if-else स्टेटमेंट int x = 100; if (x < 20) { Console.WriteLine(x 20 से कम है); } els
-
C# में डिफ़ॉल्ट कंस्ट्रक्टर
कंस्ट्रक्टर ऑब्जेक्ट बनने पर स्वचालित रूप से आह्वान होता है। इसका नाम क्लास के समान होता है, कोई रिटर्न टाइप नहीं। डिफ़ॉल्ट कंस्ट्रक्टर **कोई पैरामीटर नहीं** लेता। यदि कोई कंस्ट्रक्टर परिभाषित न किया जाए, कंपाइलर **पैरामीटरलेस डिफ़ॉल्ट कंस्ट्रक्टर** जनरेट करता है (सभी फील्ड्स को डिफ़ॉल्ट मान पर इ
-
C# में डेलीगेट्स (Delegates): घोषणा, उपयोग, और उदाहरण
डेलीगेट (Delegate) एक टाइप-सेफ फंक्शन पॉइंटर है जो मेथड का रेफरेंस रखता है। रनटाइम पर मेथड बदला जा सकता है। इवेंट्स और कॉलबैक्स का आधार। घोषणा delegate ; पूर्ण उदाहरण using System; using System.IO; namespace DelegateAppl { class PrintString { static FileStream fs; stati
-
C# में == ऑपरेटर बनाम Equals() मेथड: अंतर
दोनों समानता जांचते हैं, लेकिन अर्थ अलग है: रेफरेंस समानता बनाम मान समानता। रेफरेंस टाइप्स के लिए ==: डिफ़ॉल्ट रूप से **रेफरेंस समानता** (एक ही ऑब्जेक्ट?)। Equals(): **मान समानता** जांचने के लिए ओवरराइड किया जा सकता है। string दोनों के लिए मान समानता करता है (ऑपरेटर ओवरलोडेड)। उदाहरण 1: समान रे
-
C# में एब्स्ट्रैक्ट क्लास बनाम इंटरफेस: अंतर
दोनों कॉन्ट्रैक्ट परिभाषित करते हैं, लेकिन अलग-अलग उद्देश्यों के लिए। तुलना तालिका विशेषताएब्स्ट्रैक्ट क्लासइंटरफेस विरासतकेवल एक (सिंगल इनहेरिटेंस)एकाधिक (मल्टीपल इम्प्लीमेंटेशन) मेंबर फील्ड्सहाँ (इंस्टेंस/स्टैटिक फील्ड्स)नहीं (केवल C# 8.0+ में डिफ़ॉल्ट इम्प्लीमेंटेशन) एक्सेस मॉडिफायर्ससभी (p
-
C# में बॉक्सिंग और अनबॉक्सिंग: अंतर
बॉक्सिंग (Boxing): वैल्यू टाइप → ऑब्जेक्ट टाइप (रेफरेंस टाइप)। अनबॉक्सिंग (Unboxing): ऑब्जेक्ट टाइप → वैल्यू टाइप। स्टोरेज अंतर पहलूबॉक्सिंगअनबॉक्सिंग दिशास्टैक → हीपहीप → स्टैक कनवर्जनअंतर्निहित (implicit)स्पष्ट (explicit cast) प्रदर्शनओवरहेड (आवंटन + कॉपी)ओवरहेड (चेक + कॉपी) उदाहरण int a
-
C# में String बनाम StringBuilder: अंतर
स्ट्रिंग मैनिपुलेशन में सही चुनाव प्रदर्शन पर बड़ा प्रभाव डालता है। String (इम्यूटेबल) बनने के बाद **नहीं बदल सकती**। हर ऑपरेशन (+, Replace, Substring) **नई स्ट्रिंग** बनाता है। मेमोरी में नया ऑब्जेक्ट, पुराना गार्बेज कलेक्शन के लिए। थ्रेड-सेफ (इम्यूटेबिलिटी के कारण)। string str = Welcome!; str
-
C++ और C# में अंतर
C++ एक स्टैटिकली-टाइप्ड, कंपाइल्ड, मल्टी-पैराडाइम भाषा है (प्रोसीजरल, OOP, जेनेरिक)। C# एक मैनेज्ड, ऑब्जेक्ट-ओरिएंटेड भाषा है जो .NET पर चलती है। मुख्य अंतर पहलूC++C# मेमोरी प्रबंधनमैनुअल (new/delete, स्मार्ट पॉइंटर्स)स्वचालित (गार्बेज कलेक्शन) प्लेटफॉर्मक्रॉस-प्लेटफॉर्म (नेटिव कंपाइलेशन)मुख्य
-
C# में अभाज्य संख्या (Prime Number) जांचने के तरीके
अभाज्य संख्या वह है जो केवल 1 और स्वयं से विभाज्य होती है। C# में इसे जांचने के दो सामान्य तरीके: तरीका 1: for लूप से (सीधी जांच) using System; namespace Program { class Demo { public static void Main() { int n = 7; int count = 0;
-
C# में इंटरनल (internal) वेरिएबल का स्कोप
internal एक्सेस मॉडिफायर मेंबर को उसी असेंबली (असेंबली = .exe या .dll) के भीतर किसी भी क्लास/मेथड से एक्सेसिबल बनाता है, लेकिन असेंबली के बाहर से नहीं। उदाहरण using System; namespace RectangleApplication { class Rectangle { // इंटरनल मेंबर वेरिएबल्स internal double length;
-
C# में Hashtable क्लास का IsReadOnly प्रॉपर्टी
Hashtable क्लास का IsReadOnly प्रॉपर्टी जांचता है कि हैशटेबल केवल पढ़ने योग्य है या नहीं। यह ICollection इंटरफेस से विरासत में मिला है। उदाहरण using System; using System.Collections; namespace Demo { class Program { static void Main(string[] args) { Hashtable h
-
C# में IComparable और IComparer इंटरफेस का अंतर
दोनों इंटरफेस सॉर्टिंग और तुलना के लिए उपयोग होते हैं, लेकिन उनकी भूमिका अलग है। IComparable<T> - आंतरिक तुलना क्लास खुद को दूसरी क्लास के साथ तुलना करने योग्य बनाती है। मैं अपनी तुलना दूसरों से कर सकता हूँ। CompareTo(T other) लागू करना आवश्यक। डिफ़ॉल्ट सॉर्टिंग व्यवहार परिभाषित करता है।
-
C और C# में अंतर
C एक संरचनात्मक (प्रोसीजरल) भाषा है (1972, डेनिस रिची, UNIX के लिए)। C# एक आधुनिक ऑब्जेक्ट-ओरिएंटेड भाषा है (माइक्रोसॉफ्ट, .NET पहल, एंडर्स हेजल्सबर्ग)। मुख्य अंतर पहलूCC# प्रोग्रामिंग पैराडाइमसंरचनात्मक (प्रोसीजरल)ऑब्जेक्ट-ओरिएंटेड (बहु-पैराडाइम) मेमोरी प्रबंधनमैनुअल (malloc/free)स्वचालित (गा
-
C# में डिवीजन ऑपरेटर (/): अंकगणितीय ऑपरेटर्स
C# में डिवीजन ऑपरेटर (/) दो संख्याओं को विभाजित करता है। यह अंकगणितीय ऑपरेटर्स का हिस्सा है। पूर्ण उदाहरण: सभी अंकगणितीय ऑपरेटर्स using System; namespace Sample { class Demo { static void Main(string[] args) { int num1 = 50; int num2 = 25;
-
C# में एनकैप्सुलेशन (Encapsulation): एक्सेस मॉडिफायर्स के साथ
एनकैप्सुलेशन (Encapsulation) डेटा (फील्ड्स) और व्यवहार (मेथड्स) को एक इकाई (क्लास) में बांधना और आंतरिक विवरण छुपाना है। C# में एक्सेस मॉडिफायर्स द्वारा लागू किया जाता है। C# एक्सेस मॉडिफायर्स मॉडिफायरविवरण publicकहीं से भी एक्सेसिबल privateकेवल उसी क्लास के अंदर (डिफ़ॉल्ट) protectedउसी क्लास
-
C# में Enum (एन्यूमरेशन): परिभाषा और बुनियादी उपयोग
Enum (Enumeration) नामित स्थिरांकों (named constants) का समूह है। डिफ़ॉल्ट रूप से मान 0 से शुरू होकर 1 से बढ़ते हैं। कोड पठनीयता और टाइप सेफ्टी के लिए उपयोगी। बुनियादी उदाहरण using System; public class Demo { public enum Vehicle { Car, // 0 Bus, // 1 Truck //