نمٹا (اور) کو حتمی شکل دینے کے درمیان C # میں فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 2 اپریل 2021
تازہ کاری کی تاریخ: 13 مئی 2024
Anonim
.NET میں فائنلائز اور ڈسپوز میتھڈ میں کیا فرق ہے؟
ویڈیو: .NET میں فائنلائز اور ڈسپوز میتھڈ میں کیا فرق ہے؟

مواد


طریقے ضائع کرنا () اور حتمی شکل دینا () C # کے وہ طریقے ہیں جن کو کسی شے کے زیر انتظام غیر منظم وسائل کو آزاد کرنے کی درخواست کی گئی ہے۔ ڈسپوز () کا طریقہ انٹرفیس IDisposable کے اندر بیان کیا جاتا ہے جبکہ ، طریقہ حتمی شکل () کو کلاس آبجیکٹ کے اندر بیان کیا جاتا ہے۔ تصرف () اور حتمی شکل دینے () کے درمیان بنیادی فرق یہ ہے کہ طریقہ ہے تصرف() واضح طور پر صارف کے ذریعہ طلب کرنا پڑتا ہے ، جبکہ اس کا طریقہ حتمی شکل () آبجیکٹ کو ختم کرنے سے ٹھیک پہلے ، کوڑے دان جمع کرنے والے کی طرف اشارہ کیا جاتا ہے۔ آئیے ذیل میں موازنہ چارٹ کی مدد سے ان کے مابین کچھ دوسرے اختلافات کا مطالعہ کریں۔

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کی بنیادتصرف ()حتمی شکل ()
متعینطریقہ تصرف () کو انٹرفیس IDisposable انٹرفیس میں بیان کیا گیا ہے۔طریقہ کو حتمی شکل () ID java.lang.object کلاس میں بیان کی گئی ہے۔
نحوعوامی باطل تصرف () {
// کوڈ کو یہاں تصرف کریں
}
محفوظ باطل کو حتمی شکل دیں () {
// حتمی کوڈ یہاں
}
درخواست کی طریقہ تصرف () کو صارف استعمال کرتا ہے۔طریقہ حتمی شکل () کوڑے دان جمع کرنے والے کے ذریعہ استعمال کیا گیا ہے۔
مقصدطریقہ ڈسپوز () جب بھی طلب کیا جاتا ہے غیر انتظام شدہ وسائل کو آزاد کرنے کے لئے استعمال ہوتا ہے۔مقصد کو حتمی شکل دینے () کا استعمال غیر انتظام شدہ وسائل کو آزاد کرنے کے لئے استعمال کرنے سے پہلے آبجیکٹ کو تباہ کیا جاتا ہے۔
عمل آوریجب بھی کوئی قریب () طریقہ موجود ہو تو ڈسپوزل () کو عملی جامہ پہنانا ہوتا ہے۔غیر حتمی وسائل کے ل The طریقہ کو حتمی شکل دینا () نافذ کرنا ہے۔
رسائی تفصیلاتطریقہ تصرف () کو عوامی طور پر اعلان کیا گیا ہے۔طریقہ حتمی شکل () کو نجی قرار دیا گیا ہے۔
عمل طریقہ تصرف () تیز تر ہوتا ہے اور فوری طور پر کسی شے کو نمٹاتا ہے۔تصرف کو ختم کرنے کے مقابلے میں طریقہ کو حتمی شکل دینا سست ہے
کارکردگیطریقہ تصرف () فوری کارروائی کرتا ہے ، اس سے ویب سائٹ کی کارکردگی پر اثر نہیں پڑتا ہے۔ طریقہ کو حتمی شکل دینا () آہستہ ہونے سے ویب سائٹ کی کارکردگی متاثر ہوتی ہے۔


تصرف کی وضاحت ()

تصرف () کا طریقہ غیر منظم وسائل کو جاری کرتا ہے جو کلاس کے کسی شے کے پاس ہوتے ہیں۔ غیر انتظام شدہ وسائل فائلیں ، ڈیٹا کنیکشن ، وغیرہ ہیں۔ طریقہ کار تصرف () کو انٹرفیس میں اعلان کیا گیا ہے قابل شناخت اور یہ کلاس کے ذریعہ انٹرفیس IDisposable کو نافذ کرکے لاگو کیا جاتا ہے۔ یہ طریقہ خود بخود نہیں کہا جاتا ہے۔ پروگرامر کو دستی طور پر اس پر عمل درآمد کرنا ہوتا ہے جب آپ اپنی مرضی کے مطابق کلاس بناتے ہو جو دوسرے استعمال کریں گے۔ طریقہ کار میں مندرجہ ذیل ترکیب موجود ہے۔

عوامی باطل تصرف () {// کوڈ کو یہاں ضائع کریں}

مذکورہ نحو میں ، آپ مشاہدہ کر سکتے ہیں کہ اس طریقہ کو عوامی طور پر اعلان کیا گیا ہے۔ اس کی وجہ یہ ہے کہ یہ طریقہ انٹرفیس IDisposable میں بیان کیا گیا ہے اور اسے اس کلاس کے ذریعہ لاگو کرنا پڑتا ہے جو اس انٹرفیس کو نافذ کرتا ہے۔ لہذا ، نفاذ کرنے والے طبقے تک رسائ فراہم کرنے کے لئے ، اس طریقہ کو عوامی طور پر اعلان کیا گیا ہے۔

اس طریقہ کار کو دستی طور پر کسی پروگرام کے کوڈ کے ذریعہ طلب کیا جاتا ہے کیونکہ اس پر عمل درآمد کیا جاتا ہے۔ طریقوں کی کارکردگی تیز ہے ، اور یہ فوری طور پر کسی طبقے کے مقصد کے وسائل سے آزاد ہوجاتا ہے۔


حتمی شکل () کی تعریف

حتمی شکل () طریقہ کی وضاحت میں چیز کلاس یہ صفائی کی سرگرمیوں کے لئے استعمال کیا جاتا ہے۔ اس طریقہ کو کوڑے دان جمع کرنے والے کہتے ہیں جب کسی چیز کا حوالہ زیادہ دن استعمال نہیں ہوتا ہے۔ کوڑا کرکٹ جمع کرنے والا انتظام شدہ وسائل کو خود بخود آزاد کرتا ہے لیکن اگر آپ غیر منظم وسائل جیسے فائل ہینڈل ، ڈیٹا کنیکشن ، کو آزاد کرنا چاہتے ہیں تو ، حتمی شکل دینے کا طریقہ دستی طور پر نافذ کرنا ہوگا۔ ردی کی ٹوکری میں جمع کرنے والا اس مقصد کو حتمی شکل دینے () سے درخواست کرتا ہے اس سے پہلے کہ یہ مقصد کو مکمل طور پر ختم کردے۔

طریقہ کار کی ترکیب حتمی شکل ():

محفوظ باطل حتمی شکل () {// حتمی کوڈ یہاں here

مذکورہ نحو میں ، طریقہ کو حتمی شکل () کو بطور محفوظ قرار دیا گیا ہے۔ اس کے پیچھے کی وجہ یہ ہے کہ ، طریقہ کو حتمی شکل دینا () کو کلاس سے باہر سے قابل رسائ نہیں ہونا چاہئے ، اور اس کو کچرا جمع کرنے والے کے لئے ہی قابل رسائی ہونا چاہئے۔

حتمی شکل دینے کا طریقہ کار کی کارکردگی کو متاثر کرتا ہے کیونکہ یہ میموری کو فوری طور پر آزاد نہیں کرتا ہے۔ C # میں حتمی شکل کو تباہ کنوں کے ساتھ خود بخود کہا جاتا ہے۔

  1. طریقہ تصرف () کو انٹرفیس میں بیان کیا جاتا ہے قابل شناخت. دوسری طرف ، طریقہ حتمی شکل () کو کلاس میں بیان کیا گیا ہے چیز.
  2. طریقہ نمٹا دینا () کو کسی پروگرامر کے ذریعہ کوڈ کے اندر دستی طور پر چلنا پڑتا ہے ، جبکہ اس کو حتمی شکل دینے سے پہلے اس طریقہ کو حتمی شکل دینے سے کچرا جمع کرنے والا خود بخود اس کی مدد کرلیتا ہے۔
  3. طریقہ تصرف کو کسی بھی وقت استعمال کیا جاسکتا ہے ، جب کہ طریقہ کو حتمی شکل دینے پر کوڑا کرکٹ جمع کرنے والے کی مدد کی جاتی ہے جب پتہ چلتا ہے کہ اس چیز کا طویل عرصے سے حوالہ نہیں دیا گیا ہے۔
  4. انٹرفیس IDisposable کے نفاذ کے بعد طریقہ ڈسپوز () کو ایک کلاس میں لاگو کیا جاتا ہے۔ طریقہ کو حتمی شکل دینا () صرف اس کے لئے نافذ ہونا ہے غیر منظم وسائل کیونکہ انتظام شدہ وسائل کوڑے دان جمع کرنے والے کے ذریعہ ازخود آزاد ہوجاتے ہیں۔
  5. طریقہ تصرف () کو تکثیق کرنے والا رسائی عوامی ہے کیوں کہ اسے انٹرفیس IDisposable میں واضح کیا گیا ہے اور اس کو اس کلاس کے ذریعہ لاگو کیا جائے گا جو اس انٹرفیس کو نافذ کرتا ہے ، لہذا یہ عوامی ہونا چاہئے۔ دوسری طرف ، اس طریقہ کو حتمی شکل دے کر () نے رسائی کو واضح کرنے والے کو محفوظ کیا ہے تاکہ کلاس سے باہر کسی بھی ممبر تک یہ قابل رسائی نہ ہو۔
  6. ضائع کرنے کا طریقہ () تیز ہے اور فوری طور پر شے کو آزاد کرتا ہے ، اس سے کارکردگی کی قیمت متاثر نہیں ہوتی ہے۔ طریقہ کو حتمی شکل دینا () سست ہے اور وہ اعتراض کے ذریعہ موجود وسائل کو فوری طور پر آزاد نہیں کرتا ہے۔

نتیجہ:

میتھوڈ ڈسپوز () کو طریقہ کار کو حتمی شکل دینے () پر استعمال کرنے کی تجویز ہے کیونکہ یہ حتمی شکل دینے سے زیادہ تیز ہے۔ نیز ، جب ضرورت ہو تو اسے کسی بھی وقت بھی بلایا جاسکتا ہے۔