new कीवर्ड C# में तीन मुख्य संदर्भों में उपयोग होता है:
1. ऑब्जेक्ट इंस्टेंशिएशन
क्लास/स्ट्रक्चर का इंस्टेंस बनाता है, कंस्ट्रक्टर कॉल करता है।
Calculate c = new Calculate();
string s = new string('a', 5); // "aaaaa"
2. ऐरे निर्माण
ऐरे इंस्टेंस बनाता है और एलिमेंट्स को डिफ़ॉल्ट मानों पर इनिशियलाइज करता है।
int[] arr = new int[10]; // 10 इंट्स, सभी 0
double[] points = new double[5]; // 5 डबल्स, सभी 0.0
string[] names = new string[3]; // 3 स्ट्रिंग्स, सभी null
3. कलेक्शन इंस्टेंशिएशन
List list = new List();
Dictionary dict = new Dictionary();
SortedList sl = new SortedList();
4. अन्य उपयोग (कम सामान्य)
- new कंस्ट्रेंट: जेनेरिक टाइप पैरामीटर पर
where T : new() - मेथड हाइडिंग:
public new void Method()(शैडोइंग) - नेस्टेड टाइप इंस्टेंशिएशन:
Outer.Nested n = new Outer.Nested()
पूर्ण उदाहरण
using System;
class Program {
static void Main() {
// ऐरे निर्माण और कॉपी
int[] arrSource = new int[4] {5, 9, 1, 3};
int[] arrTarget = new int[4];
// CopyTo मेथड
arrSource.CopyTo(arrTarget, 0);
Console.WriteLine("डेस्टिनेशन ऐरे...");
foreach (int value in arrTarget) {
Console.WriteLine(value);
}
}
}
आउटपुट
डेस्टिनेशन ऐरे...
5
9
1
3
महत्वपूर्ण:
newहीप पर मेमोरी आवंटित करता है (रेफरेंस टाइप्स)- वैल्यू टाइप्स (स्ट्रक्चर) के लिए स्टैक पर आवंटन कर सकता है
- कंस्ट्रक्टर न होने पर डिफ़ॉल्ट कंस्ट्रक्टर कॉल होता है
default(T)याnew T()डिफ़ॉल्ट मान के लिए