Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में डिक्लेरेशन और डेफिनिशन में अंतर

डिक्लेरेशन (घोषणा) और डेफिनिशन (परिभाषा/आरंभीकरण) अलग-अलग अवधारणाएं हैं।

वेरिएबल्स


// डिक्लेरेशन - केवल नाम और टाइप
int x;

// डेफिनिशन/इनिशियलाइजेशन - मान निर्दिष्ट
x = 10;

// संयुक्त
int y = 20;

ऐरे


// डिक्लेरेशन
int[] n;

// इनिशियलाइजेशन - मेमोरी आवंटन
n = new int[10];

// असाइनमेंट - एलिमेंट्स को मान देना
n[0] = 100;
n[1] = 200;

// संयुक्त
int[] arr = new int[5] {1, 2, 3, 4, 5};

मेथड्स


// डिक्लेरेशन (सिग्नेचर केवल)
void MyMethod(int x, string y);

// डेफिनिशन (इम्प्लीमेंटेशन/बॉडी)
void MyMethod(int x, string y) {
    Console.WriteLine(x + y);
}

// इंटरफेस में केवल डिक्लेरेशन
interface IExample {
    void Method(); // डिक्लेरेशन
}

// क्लास में डेफिनिशन
class Impl : IExample {
    public void Method() { } // डेफिनिशन
}

क्लासेस


// फॉरवर्ड डिक्लेरेशन (C# में सीधे नहीं, लेकिन पार्शियल क्लास से समान)
partial class MyClass; // केवल डिक्लेरेशन

// डेफिनिशन
partial class MyClass {
    public void Method() { }
}

मुख्य अंतर

पहलूडिक्लेरेशनडेफिनिशन/इनिशियलाइजेशन
उद्देश्यनाम और टाइप घोषितस्टोरेज आवंटित, मान दें
मेमोरीनहीं (रेफरेंस टाइप्स)हां
बारंबारताएकाधिक (extern, partial)एक (ODR - One Definition Rule)
उदाहरणint x;x = 10; या int x = 10;

नोट: C# में अक्सर डिक्लेरेशन और इनिशियलाइजेशन एक साथ होते हैं।

  1. - C# में इंटरफ़ेस और क्लास में क्या अंतर है?

    एक इंटरफ़ेस फील्ड्स या मेथड कार्यान्वयन के बिना एक क्लास है। यह उन मेथड्स को लागू नहीं कर सकता जो यह परिभाषित करता है।एक क्लास आमतौर पर इंटरफ़ेस में परिभाषित मेथड्स को लागू करती है।इंटरफ़ेसइंटरफ़ेस प्रॉपर्टीज, मेथड्स, और इवेंट्स को परिभाषित करते हैं, जो इंटरफ़ेस के सदस्य हैं। इंटरफ़ेस में केवल सदस्य

  1. - C# में String और string में क्या अंतर है?

    String का मतलब System.String है जबकि string C# में System.String के लिए एक एलियास (alias) है।उदाहरण के लिए:string str = Welcome!;यह आवश्यक नहीं है, लेकिन आमतौर पर String का उपयोग तब किया जाता है जब आप क्लासेस के साथ काम करते हैं।string str = String.Format(Welcome! {0}!, user);चूंकि string System.Str

  1. - C# में float, double और decimal के बीच अंतर

    Float, double और decimal C# में सभी वैल्यू टाइप्स हैं। वैल्यू टाइप वेरिएबल्स को सीधे वैल्यू असाइन की जा सकती है। वे System.ValueType क्लास से डेराइव्ड हैं। वैल्यू टाइप्स सीधे डेटा समाहित करते हैं। Float वैल्यू टाइप Float एक 32-बिट सिंगल-प्रिसिजन फ्लोटिंग पॉइंट टाइप है जिसकी रेंज 3.4 x 1038 से + 3.4