/ C ++ सरणियों और कचरा कलेक्टर की तुलना में / C # सरणियाँ - c #, सरणियाँ

सी #+ सरणी और कचरा कलेक्टर की तुलना में सी # सरणी - सी #, सरणी

मैं अपना सिर लपेटने की कोशिश कर रहा हूँC # के आस-पास और कुछ ऐसा मिला जिसके बारे में मुझे चिंता है। एक सरणी घोषित करने के लिए, आपको नए ऑपरेटर का उपयोग करना होगा? लेकिन अभ्यस्त कि कचरा कलेक्टर को शामिल करना है?

Hypothetically अगर मेरे पास एक फ़ंक्शन था जो थाउस फ़ंक्शन के भीतर उपयोग के लिए एक सरणी बना रहा है और इसे प्रति फ्रेम हजारों बार कहा जा रहा था, नए ऑपरेटर को उन सभी कॉलों को कचरा कलेक्टर के लिए एक महत्वपूर्ण ओवरहेड नहीं बनाया जाएगा?

C ++ में ये ऐरे पर घोषित किए जाएंगेस्टैक जो कार्य समाप्त होते ही स्कोप से बाहर हो जाएगा और प्रदर्शन ओवरहेड न्यूनतम होगा, लेकिन C # I "मैं चिंतित हूं कि इस मामले में कचरा कलेक्टर कितना प्रदर्शन कर सकता है।

तो क्या मैं इसके बारे में सही तरीके से सोच रहा हूं? क्या कचरा संग्रहकर्ता यहां शामिल है और क्या इससे समस्याएं पैदा होंगी? क्या ऐसा करने के लिए एक बेहतर "सी # तरीका" है?

उत्तर:

जवाब के लिए 0 № 1

मूल रूप से, कचरा कलेक्टर के बारे में चिंता मत करो, यह जानता है कि यह क्या कर रहा है और यह वास्तव में अच्छा है।

यदि आप छवि सामान कर रहे हैं, तो हाँ, आप समस्याओं में भाग सकते हैं ... आप इसके चारों ओर कदम रख सकते हैं, उदाहरण के लिए आप स्टालॉक का उपयोग कर सकते हैं http://msdn.microsoft.com/en-us/library/cx9s2sy4.aspx

लेकिन इसका मतलब है कि आपके कोड को "असुरक्षित" पर सेट करना होगा।

int* frameData;
frameData = stackalloc int[200];