क्या मुझे लगता है कि एल्गोरिदमिक प्रोग्रामिंग पर ठीक है, अगर यह सही शब्द है? मैं 1 9 80 के दशक में टर्बो पास्कल और 8086 असेंबली भाषा के साथ एक शौक के रूप में खेलता था। लेकिन तब से केवल बहुत छोटी परियोजनाएं और मैंने वास्तव में 20 वर्षों के वर्षों में कोई प्रोग्रामिंग नहीं किया है। तो मैं एक डूबने वाले तैराक की तरह समझने के लिए संघर्ष कर रहा हूं।क्या होता है जब आप किसी ऑब्जेक्ट का उदाहरण बनाते हैं जिसमें C# में कोई स्थिति नहीं है?
तो शायद यह एक बहुत ही निष्कपट सवाल यह है कि या मैं बस सब पर कोई मतलब नहीं बना रहा हूं, लेकिन कहते हैं कि मैं इस तरह तरह का एक उद्देश्य है:
class Something : IDoer
{
void Do(ISomethingElse x)
{
x.DoWhatEverYouWant(42);
}
}
और फिर मैं
var Thing1 = new Something();
var Thing2 = new Something();
Thing1.Do(blah);
Thing2.Do(blah);
करना
Thing1 = Thing2 करता है? क्या "नया कुछ()" कुछ भी बनाता है? या यह स्थिर वर्ग होने से बहुत अलग नहीं है, सिवाय इसके कि मैं इसे चारों ओर पास कर सकता हूं और इसे स्वैप कर सकता हूं।
क्या थिंग 1 (ब्लाह) और थिंग 2 दोनों के लिए स्मृति में एक ही स्थान पर "Do" प्रक्रिया है (ब्लाह) वस्तुओं? मेरा मतलब यह है कि इसे निष्पादित करते समय, क्या इसका मतलब है कि दो कुछ हैं। प्रक्रियाएं या सिर्फ एक?
लेकिन इस बात की स्मृति में वास्तव में क्या है? संदर्भ के पीछे, एक सूचक है, जो स्मृति में वस्तु की स्थिति को इंगित करता है। तो यह कहां इंगित करता है? –
यह बहुत अच्छा है कि आप इस स्तर का विवरण चाहते हैं, लेकिन यहां बहुत अधिक विस्तार से जवाब देना मुश्किल है। हालांकि, मैं एक उत्कृष्ट पुस्तक की सिफारिश कर सकता हूं जो आपके प्रश्नों का उत्तर .NET बिंदु दृश्य से देगा, जो जेफरी रिचटर का सीएलआर सी # के माध्यम से है। –
मुझे लगता है कि ब्रायन गिदोन ने इसका उत्तर दिया। –