الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة عمل delete لأوبجيكت كلاس

بدأه memo0077 في 14 نوفمبر 2012 · 6 رد · 713 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخواني انا مبتديء فى السي شارب وفى موضوع محيرني ومحتاج مساعدتكم فيه جزاكم الله عنا كل خير نحن المبتدئين

ومعذرة مقدما لو كنت مش قادر افسر سؤالي او مسميات خاطئة

عندما أقوم بالتصريح عن أوبجيكت جديد من كلاس بالمشروع وبداخل هذا الكلاس متغيرات ودالة بناء للكلاس تعطي المتغيرات القيم التي تمرر لها عند التصريح عن الأوبجيكت الجديد

ويقوم البرنامج بحجز مساحة من الذاكرة لهذة المتغيرات , وبالتالي يزداد حجم استخدام البرنامج للميموري مع المشاريع الكبيرة

كيف احرر مساحة الذاكرة التي حجزت لهذا الأوبجيكت بعد الانتهاء من استخدامة بدون استخدام using


{
public string MyString { get; private set; }
public int MyInt { get; private set; }
public double MyDouble { get; private set; }

public MyClass(string myString, int myInt, double myDouble)
{
MyString = myString;
MyInt = myInt;
MyDouble = myDouble;
}
}

class Program
{
static void Main(string[] args)
{
MyClass nea = new MyClass("Mohamed", 120, 50d);
// كيف اعمل ديليت لهذا الأوبجيكت بدون استخدام
// using
}
}
    public class MyClass

#2

السلام عليكم

اقتباس

كيف احرر مساحة الذاكرة التي حجزت لهذا الأوبجيكت بعد الانتهاء من استخدامة بدون استخدام using

عن طريق Garbage collector

الرابط الخاص بي

تم تعديل هذه المشاركة بواسطة ayash في 14 نوفمبر 2012 في 09:24

1

291964_260506123967115_206850989332629_1001538_45132_n.jpg

اللهم إني أعوذ بك من علم لا ينفع ، ومن قلب لا يخشع ، ومن نفس لا تشبع ، ومن دعوة لا يستجاب لها

#3
ayash كتب:

السلام عليكم

عن طريق Garbage collector

الرابط الخاص بي

الف شكر اخي الكريم بجد ساعدتني فى موضوع كان شاغلني كتير جزاك الله كل خير

#4

السلام عليكم

أخي مجرد أن تعطي الأوبجكت قيمة null سيقطع ارتباطه بالكائن المحجوز بالذاكرة

وعندما تقطع كل الارتباطات لنفس الكائن (في حال وجود أكثر من كائن يؤشر إلى نفس النسخة Instance من الكلاس) سيتم تحريره من الذاكرة تلقائيا

لأنه في ال Managed Code يكون هو المسؤول عن عمليات تحرير الذواكر

1

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#5
أبو أحمد المبرمج كتب:

السلام عليكم

أخي مجرد أن تعطي الأوبجكت قيمة null سيقطع ارتباطه بالكائن المحجوز بالذاكرة

وعندما تقطع كل الارتباطات لنفس الكائن (في حال وجود أكثر من كائن يؤشر إلى نفس النسخة Instance من الكلاس) سيتم تحريره من الذاكرة تلقائيا

لأنه في ال Managed Code يكون هو المسؤول عن عمليات تحرير الذواكر

وعليكم السلام

الف شكر اخي الكريم على المعلومة القيمة التي استفدت منها الكثير

تحياتي لك

#6

بعد الانتهاء من استخدام الكلاس فقط قم باستدعاء المنهج dispose

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#7
sufian2020 كتب:

بعد الانتهاء من استخدام الكلاس فقط قم باستدعاء المنهج dispose

بوركت أخي سفيان

ولكن ليس كل الأصناف وخصوصا المعرفة من قبل المبرمج تملك هذا المنهج

فقط تلك التي ترث من الإنترفيس IDisposable يكون لها هذا المنهج

والذي عادة ما يوضع للقيام عمليات أخرى من تنظيف أو تحرير أو حتى تغيير بارمترات أو أي وظيفة أخرى مطلوبة عند تدمير الكلاس

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…