کی میز کے مندرجات[چھپائیں][دکھائیں]
- 1. اصل میں C# کیا ہے؟
- 2. کیا C# کو C سے ممتاز کرتا ہے؟
- 3. بالکل کلاس کیا ہے؟
- 4. اصل میں ایک چیز کیا ہے؟
- 5. جامد، عوامی اور باطل کی اصطلاحات میں کیا فرق ہے؟
- 6. کنسٹرکٹرز کی تعریف کریں۔
- 7. کچرا جمع کرنے میں C# کیا ہے؟
- 8. C# میں ساخت کا کیا مطلب ہے؟
- 9. C# کوڈ کیسے مرتب ہوتا ہے؟
- 10. واضح طور پر مختلف C# کلاسز کی وضاحت کریں۔
- 11. جاگڈ ایرے بالکل کیا ہیں؟
- 12. آؤٹ اور ریف پیرامیٹرز کے درمیان کیا فرق ہے؟
- 13. C# میں، ڈسٹرکٹر کیا ہے؟
- 14. C# میں، انڈیکسر کیا ہے؟
- 15. منظم اور غیر منظم کوڈ میں کیا فرق ہے؟
- 16. سیریلائزیشن کی وضاحت کریں۔
- 17. C# میں، فیلڈز اور پراپرٹیز ایک دوسرے سے کیسے مختلف ہیں؟
- 18. آپ C# میں بیانات کا استعمال کرتے ہوئے تفصیل سے کیسے بیان کر سکتے ہیں؟
- 19. آپ ایک ہی کلاس میں ایک ہی طریقہ نام کے ساتھ متعدد انٹرفیس کو کیسے نافذ کریں گے؟
- 20. C# میں، ٹاسک اور تھریڈ میں کیا فرق ہے؟
- 21. C# میں فائنلائز فنکشن کیا ہے؟
- 22. بلاکس کو حتمی شکل دینے اور حتمی شکل دینے کے درمیان فرق کریں۔
- 23۔ C# ڈسپوز آف طریقہ کو تفصیل سے بیان کریں۔
- 24. C# طریقہ اوورلوڈنگ کیا ہے؟ واضح کرنا۔
- 25. صرف پڑھنے اور مستقل کے درمیان کیا فرق ہے؟
- 26. یوزر کنٹرول اور کسٹم کنٹرول کیا ہیں؟
- 27. C# میں، ملٹی کاسٹ ڈیلیگیٹ کیا ہے؟
- 28. C# میں آبجیکٹ پولنگ بالکل کیا ہے؟
- 29. C#.NET میں جنرکس بالکل کیا ہیں؟
- 30. کیا نجی ورچوئل طریقہ کو اوور رائڈ کرنا ممکن ہے؟
- 31. C# میں میتھڈ اوور لوڈنگ اور میتھڈ اوور رائیڈنگ میں فرق کریں؟
- 32. C# میں، String اور StringBuilder کے درمیان کیا فرق ہے؟
- 33. مندوبین دراصل کیا ہیں؟
- 34. آپ کو C# میں ملٹی تھریڈنگ کب استعمال کرنی چاہیے اور کب اس سے بچنا چاہیے؟
- 35. C# میں، ملٹی کاسٹ ڈیلیگیٹ کیا ہے؟
- 36. C# میں، لیٹ بائنڈنگ اور ارلی بائنڈنگ میں کیا فرق ہے؟
- 37. Directcast اور Ctype میں فرق کریں؟
- 38. ہیش سیٹ کو C# میں کیسے استعمال کیا جاتا ہے؟
- 39. براہ کرم C# میں تھریڈ پولنگ کی وضاحت کریں۔
- 40. C# میں Const اور ReadOnly مطلوبہ الفاظ کے درمیان کیا فرق ہے؟
- 41. آپ C# XSD فائل کے حوالے سے کیا تفصیلات فراہم کر سکتے ہیں؟
- 42. آپ کے لیے گیٹ اور سیٹ ایکسسر پراپرٹیز کا کیا مطلب ہے؟
- 43. C# میں انحصار انجیکشن دراصل کیا ہے؟
- نتیجہ
C# (پہلے C شارپ کے نام سے جانا جاتا تھا) ایک آبجیکٹ اورینٹڈ پروگرامنگ لینگویج ہے جسے ڈویلپرز کئی سرگرمیاں کرنے اور متعدد اہداف حاصل کرنے کے لیے اکثر استعمال کرتے ہیں۔
آبجیکٹ پر مبنی پروگرامنگ زبانیں، جیسے C++، Python، اور Java، مختلف ذائقوں میں آتی ہیں۔ یہ پروگرامنگ زبانیں ایک خاص فریم ورک کے اندر کام کرنے کے لیے بنائی گئی ہیں۔ اسی طرح، C# ایک مخصوص فریم ورک کے لیے بنایا اور تیار کیا گیا ہے، یعنی NET۔
.NET فریم ورک کی طرف سے بنایا گیا تھا مائیکروسافٹ. یہ ایپلیکیشنز، ڈیکلریشنز، ایپلیکیشن ہدایات وغیرہ تیار کرنے کے لیے ایک وسیع پلیٹ فارم مہیا کرتا ہے۔ C# ویب ڈویلپمنٹ، گیمنگ کے لیے استعمال کیا جا سکتا ہے، موبائل ایپس ، ونڈوز ایپلی کیشنز، اور اسی طرح کے دوسرے پروجیکٹس۔
اس طرح کے فوائد کے ساتھ، C# کے استعمال میں اضافہ ہوا ہے، اور ماہرین کی ضرورت جو اسے درست طریقے سے استعمال کر سکتے ہیں دوگنی ہو گئی ہے۔ کیونکہ C# اتنا مشہور ہے۔ پروگرامنگ زبانبڑی اور چھوٹی فرموں کی ایک بڑی تعداد اس پر اپنی مصنوعات کی بنیاد رکھتی ہے۔
لہذا، انٹرویوز میں کامیابی حاصل کرنے کے لیے بنیادی اور اعلی درجے کے C# سوالات کی مشق کریں۔
1. اصل میں C# کیا ہے؟
مائیکروسافٹ C# ایک عصری، عام مقصد ہے، آبجیکٹ اورینٹڈ پروگرامنگ زبان. C# کامن لینگویج انفراسٹرکچر (CLI) کے لیے ہے، جس میں قابل عمل کوڈ اور رن ٹائم ماحول شامل ہے جو متنوع کمپیوٹر سسٹمز اور فن تعمیرات پر متعدد اعلیٰ سطحی زبانوں کے استعمال کو قابل بناتا ہے۔
2. کیا C# کو C سے ممتاز کرتا ہے؟
C کو عام طور پر طریقہ کار کی زبان کہا جاتا ہے، جبکہ C# زیادہ آبجیکٹ پر مبنی ہے۔ بنیادی فرق یہ ہے کہ C# کامن لینگویج رن ٹائم (CLR) کے ذریعے خودکار کچرا جمع کرنے کی اجازت دیتا ہے، جبکہ C ایسا نہیں کرتا ہے۔ C# کو چلانے کے لیے.NET فریم ورک کی ضرورت ہوتی ہے، جبکہ C ایک پلیٹ فارم سے آزاد زبان ہے۔
3. بالکل کلاس کیا ہے؟
ایک کلاس اشیاء کی تعمیر کے لیے ایک ٹیمپلیٹ کا کام کرتی ہے۔ تکنیک کے ساتھ ساتھ اس میں اوصاف بھی ہیں۔ ایک ہی طبقے سے، ہم کسی چیز کی کئی مثالیں تیار کر سکتے ہیں۔
4. اصل میں ایک چیز کیا ہے؟
ایک کلاس مثال جس کو آبجیکٹ کے نام سے جانا جاتا ہے وہ یہ ہے کہ ہم کلاس کی خصوصیات تک کیسے رسائی حاصل کرتے ہیں۔ کسی چیز کو بنانے کے لیے، ہم "نیا" کلیدی لفظ استعمال کر سکتے ہیں۔ فنکشنز، ڈیٹا ممبرز، اور کلاس کے رویے جو میموری میں کسی چیز کو تیار کرتے ہیں محفوظ کیے جاتے ہیں۔
5. جامد، عوامی اور باطل کی اصطلاحات میں کیا فرق ہے؟
پروگرام میں کہیں بھی عوامی طور پر متعین متغیرات تک رسائی حاصل کر سکتی ہے۔ جامد متغیرات کو کلاس مثال بنانے کی ضرورت کے بغیر عالمی سطح پر رسائی حاصل کی جاسکتی ہے۔ C# میں، Void نامی ایک قسم موڈیفائر کا استعمال کسی طریقہ کی واپسی کی قسم کی نشاندہی کرنے کے لیے کیا جاتا ہے۔
6. کنسٹرکٹرز کی تعریف کریں۔
کنسٹرکٹر ایک کلاس مخصوص ممبر فنکشن ہے۔ جب کوئی چیز بنتی ہے تو کنسٹرکٹر کو خود بخود کہا جاتا ہے۔ کلاس ڈیٹا ممبروں کی تمام اقدار کو تشکیل دیتی ہے جیسے ہی اسے شروع کیا جاتا ہے۔
7. کچرا جمع کرنے میں C# کیا ہے؟
یادداشت کو صاف کرنے کا عمل جس پر ناپسندیدہ اشیاء کا قبضہ ہو گیا ہے اسے کچرا جمع کرنے کے نام سے جانا جاتا ہے۔ میموری کی ایک خاص مقدار خود بخود کلاس آبجیکٹ کو تفویض کردی جاتی ہے جب اسے ہیپ میموری میں بنایا جاتا ہے۔ اب جب کہ آپ نے آئٹم پر کام مکمل کر لیا ہے، اس سے پہلے جو میموری کی جگہ تھی وہ ضائع ہو گئی ہے۔ یادداشت کو آزاد کرنا ہوگا۔
8. C# میں ساخت کا کیا مطلب ہے؟
C# میں، ایک ڈھانچہ ایک ڈیٹا کی قسم ہے جو متعدد ڈیٹا کی اقسام سے بنی ہوتی ہے، جیسے کہ طریقے، فیلڈز، کنسٹرکٹرز، کنسٹنٹ، پراپرٹیز، انڈیکسرز، آپریٹرز اور یہاں تک کہ دیگر ڈھانچے بھی۔ ایک ڈھانچہ کئی قسم کے ڈیٹا کو ایک اکائی میں اکٹھا کرنے میں مدد کرتا ہے۔ اس طرح، وہ کورسز کے مشابہ ہیں۔ ڈھانچے قدر کی اقسام ہیں، جبکہ کلاسیں حوالہ کی قسمیں ہیں۔
9. C# کوڈ کیسے مرتب ہوتا ہے؟
جب کوئی پروجیکٹ بنتا ہے، تو C# سورس کوڈ کو انٹرمیڈیٹ لینگویج (IL) میں مرتب کیا جاتا ہے۔ IL ہدایات کا ایک مجموعہ ہے جو مشین پروسیسر پر عمل درآمد کے لیے مشین کوڈ تیار کرتا ہے۔ کوڈ پری پروسیسر سے مرتب کرنے والے کو، پھر اسمبلر کو، اور آخر میں چار مراحل میں لنکر کو بھیجا جاتا ہے۔
10. واضح طور پر مختلف C# کلاسز کی وضاحت کریں۔
- جامد: یہ ایک قسم کی کلاس ہے جسے فوری طور پر نہیں بنایا جا سکتا، اس لیے ہم نئے کلیدی لفظ کو اس کا اعتراض بنانے کے لیے استعمال نہیں کر سکتے، لیکن ہم کلاس کے اراکین کو ان کے کلاس کا نام استعمال کر کے براہ راست کال کر سکتے ہیں۔
- خلاصہ: خلاصہ کلاسز کی وضاحت کرنے کے لیے، خلاصہ کلیدی لفظ استعمال کریں۔ تجریدی کلاسوں کے لیے کوئی چیز نہیں بنائی جا سکتی۔ اگر آپ اسے استعمال کرنا چاہتے ہیں تو اسے ذیلی طبقے میں وراثت میں ملنا ہوگا۔ تجریدی اور غیر تجریدی طریقوں کی سادہ تعریفوں کی اجازت خلاصہ کلاس میں ہے۔
- جزوی: یہ کلاس آپ کو اپنی خصوصیات، طریقوں، اور واقعات کو کئی سورس فائلوں میں الگ کرنے کے قابل بناتی ہے، جو بعد میں تعمیر کے وقت ایک ہی کلاس میں مل جاتی ہیں۔
- مہربند: ایک مہربند طبقے کو کسی دوسرے طبقے سے وراثت میں نہیں مل سکتا اور اس کی خصوصیات محدود ہیں۔ رسائی میں ترمیم کرنے والوں کو سیل شدہ کلاس میں شامل نہیں کیا جا سکتا۔
11. جاگڈ ایرے بالکل کیا ہیں؟
سرنی عناصر کے ساتھ ایک سرنی کو کندہ دار صف کہا جاتا ہے۔ جاگڈ اریوں کے عناصر کئی شکلوں اور سائز کے ہو سکتے ہیں۔
12. آؤٹ اور ریف پیرامیٹرز کے درمیان کیا فرق ہے؟
ایک ریف کے طور پر ایک دلیل دیتے وقت، پیرامیٹر کو طریقہ کار میں منتقل کرنے سے پہلے شروع کرنا ضروری ہے. دوسری طرف، ایک آؤٹ پیرامیٹر کو کسی طریقہ کو فراہم کرنے سے پہلے شروع کرنے کی ضرورت نہیں ہے۔
13. C# میں، ڈسٹرکٹر کیا ہے؟
ڈسٹرکٹر C# میں ایک قسم کا طریقہ ہے جو کلاس کا حصہ ہے۔ ایک ڈسٹرکٹر کا بنیادی کام کلاس کی مثالوں کو حذف کرنا ہے جب میموری کو خالی کرنے کے لئے ان کی ضرورت نہیں ہوتی ہے۔ تباہ کن کبھی کبھی فائنلائزر کے طور پر جانا جاتا ہے۔
14. C# میں، انڈیکسر کیا ہے؟
کلاس یا ڈھانچے کی مثالیں تلاش کرنے کے لیے انڈیکسرز C# میں استعمال کیے جاتے ہیں۔ لہٰذا اشاریہ شدہ اقدار تک ایک صف کی طرح رسائی حاصل کی جا سکتی ہے، لیکن واضح طور پر کسی قسم یا مثال کے رکن کا اعلان کیے بغیر۔
15. منظم اور غیر منظم کوڈ میں کیا فرق ہے؟
منظم کوڈ آپ کو ایک منظم CLR رن ٹائم ماحول پر.NET فریم ورک میں کوڈ چلانے کی اجازت دیتا ہے۔
کنٹرول شدہ کوڈ آپریٹنگ سسٹم کے بجائے منظم رن ٹائم ماحول پر عمل کرتا ہے۔ مختلف قسم کی خدمات فراہم کرتا ہے جیسے کہ ردی کی ٹوکری جمع کرنے والا، استثنیٰ ہینڈلنگ وغیرہ۔
غیر منظم شدہ کوڈ وہ کوڈ ہے جو CLR پر عمل نہیں کرتا اور NET فریم ورک سے باہر کام کرتا ہے۔ وہ اعلیٰ سطحی زبان کی خدمات فراہم نہیں کرتے ہیں اور اس لیے ان کے بغیر کام کرتے ہیں۔ C++ ایسی ہی ایک مثال ہے۔
16. سیریلائزیشن کی وضاحت کریں۔
اسے نیٹ ورک پر منتقل کرنے کے لیے آئٹم سے بائٹس کا ایک سلسلہ بنانا ضروری ہے۔ سیریلائزیشن ایک شے کو بائٹس کے سلسلے میں تبدیل کرنے کا عمل ہے۔ کسی آئٹم کو سیریلائز کرنے کے لیے سیریلائز انٹرفیس کو لاگو کیا جانا چاہیے۔ بائٹس کی ایک ندی سے کسی چیز کی تعمیر کے مخالف کو ڈی سیریلائزیشن کہا جاتا ہے۔
17. C# میں، فیلڈز اور پراپرٹیز ایک دوسرے سے کیسے مختلف ہیں؟
ایک فیلڈ ایک کلاس ممبر یا کسی بھی قسم کی چیز ہے جو ڈیٹا کو ذخیرہ کرنے کے لئے ایک مقام کے طور پر کام کرتی ہے، جبکہ ایک پراپرٹی ایک کلاس ممبر ہے جو پڑھنے، لکھنے، اور نجی فیلڈ کی قدر کی گنتی کا طریقہ پیش کرتا ہے۔
18. آپ C# میں بیانات کا استعمال کرتے ہوئے تفصیل سے کیسے بیان کر سکتے ہیں؟
استعمال کا بیان ایپلی کیشن کے اندر ایک یا زیادہ وسائل کے استعمال کو محدود کرنے کے لیے استعمال کیا جاتا ہے۔ وسائل کو مستقل بنیادوں پر استعمال اور جاری کیا جاتا ہے۔
اس بیان کا بنیادی کام ناپسندیدہ وسائل کو منظم کرنا اور انہیں خود بخود جاری کرنا ہے۔ ایک بار جب وہ آبجیکٹ جو وسائل کو استعمال کر رہا ہے بن جاتا ہے، اس بات کو یقینی بنائیں کہ آبجیکٹ کے ڈسپوز فنکشن کو اس چیز کے لیے درکار وسائل کو جاری کرنے کے لیے کہا گیا ہے۔ یہ وہ جگہ ہے جہاں بیانات کا استعمال کام آتا ہے۔
19. آپ ایک ہی کلاس میں ایک ہی طریقہ نام کے ساتھ متعدد انٹرفیس کو کیسے نافذ کریں گے؟
ایک ہی طریقہ کے نام کے ساتھ متعدد انٹرفیس کو نافذ کرنے کے لیے، انہیں فنکشن کے باڈی میں لاگو کرنے سے گریز کریں۔ اس کے بجائے، آپ انٹرفیس کا نام براہ راست میتھڈ باڈی میں فراہم کریں گے۔ کمپائلر اس مسئلے کو حل کرتے ہوئے پہچان لے گا کہ کون سے انٹرفیس طریقوں کا حوالہ دیا جا رہا ہے۔
20. C# میں، ٹاسک اور تھریڈ میں کیا فرق ہے؟
تھریڈ ایک حقیقی آپریٹنگ سسٹم تھریڈ ہے جس کے اپنے اسٹیک اور کرنل وسائل ہوتے ہیں۔ تھریڈ سب سے زیادہ کنٹرول فراہم کرتا ہے۔ تھریڈ آپ کو اسقاط حمل ()، معطل ()، یا دوبارہ شروع کرنے کی اجازت دیتا ہے۔ تھریڈ کی حیثیت کا مشاہدہ کیا جا سکتا ہے یا اس کے اوصاف، جیسے کہ اسٹیک کا سائز، اپارٹمنٹ کی حالت، اور ثقافت کو سیٹ کیا جا سکتا ہے۔ CLR تھریڈ پول کے ذریعے دھاگوں کا ایک تالاب رکھتا ہے۔
ٹاسک متوازی لائبریری میں ٹاسک نامی ایک کلاس ہے۔ ThreadPool کے برعکس، ٹاسک کا اپنا آپریٹنگ سسٹم تھریڈ نہیں ہے۔ کاموں کو ٹاسک شیڈیولر کے ذریعہ انجام دیا جاتا ہے، حالانکہ پہلے سے طے شدہ شیڈولر کو ThreadPool کے ذریعہ انجام دیا جاتا ہے۔ ٹاسک مکمل ہونے پر مطلع کرنا اور نتیجہ حاصل کرنا ممکن ہے۔
21. C# میں فائنلائز فنکشن کیا ہے؟
آبجیکٹ کلاس جو صفائی کے اعمال کے لیے استعمال ہوتی ہے فائنلائز () فنکشن کی وضاحت کرتی ہے۔ جب کسی شے کا حوالہ طویل مدت تک استعمال نہیں کیا جاتا ہے، تو کوڑا اٹھانے والا اکثر اس فنکشن کو کال کرے گا۔
کوڑا اٹھانے والا خود بخود کنٹرول شدہ وسائل کو آزاد کر دیتا ہے، لیکن اگر آپ غیر ضروری وسائل جیسے فائل ہینڈلز، ڈیٹا کنکشن وغیرہ کو آزاد کرنا چاہتے ہیں، تو آپ کو فائنلائز فنکشن کو واضح طور پر نافذ کرنا چاہیے۔
22. بلاکس کو حتمی شکل دینے اور حتمی شکل دینے کے درمیان فرق کریں۔
تیار شدہ بلاک کو ٹرائی اینڈ کیچ بلاکس مکمل ہونے کے بعد بلایا جاتا ہے کیونکہ اس کی استثنا ہینڈلنگ کے لیے ضرورت ہوتی ہے۔ کوڈ کے بلاک پر عمل درآمد کیا جاتا ہے اس سے قطع نظر کہ استثناء پکڑا گیا تھا۔ بلاک کا کوڈ عام طور پر صاف ستھرا ہوتا ہے۔
کوڑا کرکٹ جمع کرنے سے پہلے حتمی شکل دینے کا طریقہ استعمال کیا جاتا ہے۔ حتمی طریقہ کار کی اہم ذمہ داریاں غیر منظم کوڈ کو صاف کرنا ہیں، جو کسی بھی صورت میں دوبارہ کال نہ کیے جانے پر خود بخود متحرک ہو جاتا ہے۔
23۔ C# ڈسپوز آف طریقہ کو تفصیل سے بیان کریں۔
disposeof() فنکشن کسی چیز کے غیر استعمال شدہ وسائل کو آزاد کرتا ہے۔ غیر استعمال شدہ وسائل، جیسے فائلیں، ڈیٹا کنکشن وغیرہ۔ یہ فنکشن انٹرفیس IDisposable میں بیان کیا گیا ہے، جسے کلاس کے ذریعے انٹرفیس IDisposable باڈی کا اعلان کر کے لاگو کیا جاتا ہے۔
ڈسپوز فنکشن خود بخود نہیں کہا جاتا ہے۔ پروگرامر کو وسائل کے مؤثر استعمال کے لیے اسے دستی طور پر نافذ کرنا چاہیے۔
24. C# طریقہ اوورلوڈنگ کیا ہے؟ واضح کرنا۔
طریقہ اوورلوڈنگ C# میں ایک عام طریقہ ہے جو ایک ہی نام اور مخصوص دستخطوں کے ساتھ متعدد طریقوں کی تعمیر کے لیے استعمال ہوتا ہے۔ یہ طریقہ کار ایک ہی کلاس کے ساتھ دہرایا جاتا ہے۔
جب طریقہ اوور لوڈنگ کا طریقہ کار مکمل ہو جاتا ہے، تو کمپائلر طریقہ اوور لوڈنگ کی بنیاد پر مخصوص کارروائیوں کو کال کرنے کے لیے کارروائیاں شروع کرتا ہے۔
25. صرف پڑھنے اور مستقل کے درمیان کیا فرق ہے؟
تالیف کے دوران مستقل متغیرات کا اعلان اور آغاز کیا جاتا ہے۔ اس کے بعد اس قدر کو تبدیل نہیں کیا جا سکتا۔ دوسری طرف، صرف پڑھنے کے لیے استعمال کیا جاتا ہے جب رن ٹائم پر کوئی ویلیو مختص ہو جاتی ہے۔
26. یوزر کنٹرول اور کسٹم کنٹرول کیا ہیں؟
مرتب شدہ کوڈ اپنی مرضی کے کنٹرول کو تیار کرنے کے لیے استعمال کیا جاتا ہے۔ یہ ٹول باکس میں شامل ہوسکتے ہیں اور استعمال میں آسان ہیں۔ ان کنٹرولز کو گھسیٹ کر چھوڑ کر، ڈویلپرز انہیں اپنے ویب فارمز میں شامل کر سکتے ہیں۔
صارف کے کنٹرول اور ASP میں شامل فائلیں کافی ملتی جلتی ہیں۔ وہ بنانے میں بھی آسان ہیں۔ دوسری طرف صارف کے کنٹرولز کو ٹول باکس میں شامل نہیں کیا جا سکتا۔ انہیں اس سے کھینچا اور گرایا بھی نہیں جا سکتا۔
27. C# میں، ملٹی کاسٹ ڈیلیگیٹ کیا ہے؟
ایک ملٹی کاسٹ مندوب ایک ہی وقت میں کئی فنکشنز کے حوالے یا ایڈریسز کو برقرار رکھتا ہے۔ جب ہم ملٹی کاسٹ ڈیلیگیٹ کو طلب کرتے ہیں، تو یہ دوسرے تمام فنکشنز کو بھی طلب کرے گا جن کا یہ حوالہ دے رہا ہے۔ متعدد طریقوں کو کال کرنے کے لیے، مندوب کی طرح پورے طریقہ کار کے دستخط کا استعمال کریں۔ ایک مثال کے طور:
28. C# میں آبجیکٹ پولنگ بالکل کیا ہے؟
آبجیکٹ پولنگ سافٹ ویئر میں ایک ڈیزائن تکنیک ہے جو چیزوں کو دوبارہ بنانے کے بجائے ری سائیکل کرتی ہے۔ یہ منتخب کردہ اشیاء کو تالاب میں ذخیرہ کرکے اور جب کوئی درخواست ان سے درخواست کرتا ہے تو انہیں استعمال کے لیے دستیاب کرکے اسے پورا کرتا ہے۔ یہ طریقہ کار غیر ضروری چیز کی پیداوار کو کم کرکے کارکردگی کو بہتر بناتا ہے۔
29. C#.NET میں جنرکس بالکل کیا ہیں؟
جنرک کا استعمال دوبارہ قابل استعمال کوڈ کلاسز بنانے کے لیے کیا جاتا ہے تاکہ کوڈ کی فالتو پن کو کم کیا جا سکے، قسم کی حفاظت کو بہتر بنایا جا سکے اور رفتار کو بہتر بنایا جا سکے۔ ہم جنرک کے ساتھ کلیکشن کلاسز بنا سکتے ہیں۔
سسٹم میں، ArrayList جیسی کلاسوں کے بجائے ایک عام نام کی جگہ کا استعمال کیا جانا چاہیے۔ مجموعوں کے لیے نام کی جگہ۔ پیرامیٹرائزڈ اقسام کے استعمال کی حوصلہ افزائی جنرک کے ذریعہ کی جاتی ہے۔
30. کیا نجی ورچوئل طریقہ کو اوور رائڈ کرنا ممکن ہے؟
ایک نجی ورچوئل طریقہ کو اوور رائڈ نہیں کیا جا سکتا کیونکہ یہ کلاس کے لیے نجی ہے اور اس کے باہر سے اس تک رسائی نہیں کی جا سکتی۔
31. C# میں میتھڈ اوور لوڈنگ اور میتھڈ اوور رائیڈنگ میں فرق کریں؟
طریقہ اوور رائڈنگ ایک اخذ شدہ کلاس کی بنیادی تعریف کو تبدیل کرنے کا عمل ہے۔ اس حکمت عملی کے نتیجے میں اخذ شدہ طبقے کے طریقے بالآخر مختلف طریقے سے برتاؤ کرتے ہیں۔
دوسری طرف میتھڈ اوور لوڈنگ کو ایک ہی کلاس کے تحت ایک ہی نام لیکن الگ الگ دستخطوں کے ساتھ کئی طریقے پیدا کرنے کے عمل کے طور پر بیان کیا جا سکتا ہے۔
32. C# میں، String اور StringBuilder کے درمیان کیا فرق ہے؟
ایک سٹرنگ آبجیکٹ ناقابل تغیر ہے، جس کا مطلب ہے کہ ایک بار بننے کے بعد اسے تبدیل نہیں کیا جا سکتا۔ سٹرنگ آبجیکٹ کو تبدیل کرنے کی کسی بھی کوشش کے نتیجے میں ایک نئی سٹرنگ آبجیکٹ بن جائے گی۔
دوسری طرف، ایک سٹرنگ بلڈر آبجیکٹ، خراب ہے اور اسے تبدیل کیا جا سکتا ہے جیسا کہ ڈویلپر مناسب سمجھتا ہے۔
33. مندوبین دراصل کیا ہیں؟
C++ میں، مندوبین بنیادی طور پر فنکشن پوائنٹرز کی طرح ہوتے ہیں۔ دونوں کے درمیان واحد فرق یہ ہے کہ مندوبین ٹائپ سیف ہیں جبکہ فنکشن پوائنٹرز نہیں ہیں۔ مندوبین ضروری ہیں کیونکہ وہ عام قسم کے محفوظ افعال کی تعمیر کو قابل بناتے ہیں۔
34. آپ کو C# میں ملٹی تھریڈنگ کب استعمال کرنی چاہیے اور کب اس سے بچنا چاہیے؟
ملٹی تھریڈنگ، جسے اکثر تھریڈنگ کے نام سے جانا جاتا ہے، ایک پروگرام کی رفتار بڑھانے کا ایک مؤثر طریقہ ہے جس میں متعدد سرگرمیاں بیک وقت انجام پاتی ہیں۔ یہ پچھلے مرحلے کے مکمل ہونے کا انتظار کرنے کے بجائے مختلف تھریڈز کو آزادانہ طور پر عمل کرنے کے قابل بناتا ہے۔ یہ ایک پروگرام کی رفتار کو بڑھانے کی صلاحیت رکھتا ہے۔
تاہم، جب پروگرام کے کئی عمل آپس میں جڑے ہوتے ہیں، تو ملٹی تھریڈنگ کی سفارش نہیں کی جاتی ہے۔ مثال کے طور پر، اگر مرحلہ B پہلے مرحلے کے مکمل ہونے پر منحصر تھا، تو ملٹی تھریڈنگ کارکردگی کے خدشات اور سافٹ ویئر کی خامیوں کا سبب بنے گی۔ جب ایک پروگرام پیچیدگی میں تیار ہوتا ہے تو تھریڈنگ تیزی سے حساس ہوتی جاتی ہے۔
35. C# میں، ملٹی کاسٹ ڈیلیگیٹ کیا ہے؟
C# میں ایک ملٹی کاسٹ مندوب، ایک بنیادی مندوب کے برخلاف، متعدد ہدف کے طریقوں کا حوالہ دیتا ہے۔ جب ایک ملٹی کاسٹ مندوب کو استعمال کیا جاتا ہے تو، مندوب کی طرف سے اشارہ کردہ تمام افعال کو بلایا جاتا ہے۔ وہ سسٹم کی ملٹی کاسٹ ڈیلیگیٹ کلاس کی مدد سے لاگو ہوتے ہیں۔
36. C# میں، لیٹ بائنڈنگ اور ارلی بائنڈنگ میں کیا فرق ہے؟
- ابتدائی بائنڈنگ کمپائل کے وقت ہوتی ہے، جبکہ دیر سے بائنڈنگ رن ٹائم کے دوران ہوتی ہے۔
- دیر سے بائنڈنگ اکثر ابتدائی بائنڈنگ سے سست ہوتی ہے کیونکہ یہ رن ٹائم پر ہوتی ہے۔
- لیٹ بائنڈنگ کے برعکس، جو میتھڈ کالز کو حل کرنے کے لیے آبجیکٹ کا استعمال کرتا ہے، ابتدائی بائنڈنگ کلاس کی معلومات کا استعمال کرتے ہوئے میتھڈ کالز کو حل کرتی ہے۔
37. Directcast اور Ctype میں فرق کریں؟
جس قسم کی آبجیکٹ کو ڈائریکٹ کاسٹ میں مخصوص قسم سے ملنے کے لیے رن ٹائم ٹائپ کی ضرورت ہوتی ہے اسے DirectCast کا استعمال کرتے ہوئے تبدیل کیا جاتا ہے۔
جب کسی اظہار اور قسم کے درمیان تبادلوں کی وضاحت کی جاتی ہے، تو Ctype کا استعمال کیا جاتا ہے۔
38. ہیش سیٹ کو C# میں کیسے استعمال کیا جاتا ہے؟
C# میں، HashSet مختلف اقدار کا غیر ترتیب شدہ مجموعہ ہے۔ عام طور پر، اس کا استعمال ڈپلیکیٹ عناصر کو کسی مجموعہ میں داخل ہونے سے روکنے کے لیے کیا جاتا ہے، اور یہ اس کام میں فہرست سے بہتر کارکردگی کا مظاہرہ کرتا ہے۔
HashSet کلاس، جو سسٹم سے نکلی ہے، اسے لاگو کرنے کے لیے استعمال کیا جاتا ہے۔
39. براہ کرم C# میں تھریڈ پولنگ کی وضاحت کریں۔
C# میں، تھریڈ پول دھاگوں کا مجموعہ ہے۔ یہ تھریڈز بنیادی تھریڈ کی فعالیت میں مداخلت کیے بغیر کام کرنے کے لیے استعمال کیے جاتے ہیں۔ دھاگے کے تالاب میں ایک دھاگہ دھاگے کے تالاب میں واپس آجاتا ہے جب اس کا چلنا ختم ہوجاتا ہے۔
سسٹم کلاس میں ایسی کلاسیں ہوتی ہیں جو تھریڈ پول میں تھریڈ کو سنبھالتی ہیں اور اس کے اعمال۔ تھریڈنگ۔ ThreadPool ایک نام کی جگہ ہے۔
40. C# میں Const اور ReadOnly مطلوبہ الفاظ کے درمیان کیا فرق ہے؟
- ReadOnly کو طریقہ کے اندر قرار نہیں دیا جا سکتا، جبکہ Const کر سکتا ہے۔
- Const ایک کمپائل ٹائم مستقل ہے، جبکہ ReadOnly ایک رن ٹائم مستقل ہے۔
- صرف پڑھنے والی اقدار کو تبدیل کیا جاسکتا ہے، لیکن Const اقدار کو تبدیل نہیں کیا جاسکتا۔
41. آپ C# XSD فائل کے حوالے سے کیا تفصیلات فراہم کر سکتے ہیں؟
XSD کا مطلب XML سکیما ڈیفینیشن ہے۔ اگر کوئی XSD فائل XML فائل کے ساتھ منسلک نہیں ہے، تو اس میں کوئی بھی صفات، عناصر اور ٹیگ ہو سکتے ہیں۔ XSD فائل XML فائل کے لیے ایک فریم ورک فراہم کرتی ہے، اس بات کا تعین کرتی ہے کہ XML فائل میں کون سے اجزاء اور صفات موجود ہونے چاہئیں اور ساتھ ہی ان کی ترتیب بھی۔
42. آپ کے لیے گیٹ اور سیٹ ایکسسر پراپرٹیز کا کیا مطلب ہے؟
C# میں، Get اور Set کو ایکسیسرز قرار دیا گیا ہے کیونکہ وہ پراپرٹیز کا استعمال کرتے ہوئے بنائے گئے ہیں۔ ایک پراپرٹی نجی فیلڈ کی قدر کے مطابق پڑھنے اور لکھنے کی اجازت دیتی ہے۔ اس طرح کے نجی شعبوں تک رسائی کاروں کے ذریعے حاصل کی جاتی ہے۔
جبکہ گیٹ پراپرٹی کا استعمال کسی پراپرٹی کی ویلیو واپس کرنے کے لیے کیا جاتا ہے، سیٹ پراپرٹی کو ویلیو سیٹ کرنے کے لیے استعمال کیا جاتا ہے۔
43. C# میں انحصار انجیکشن دراصل کیا ہے؟
انحصار انجیکشن (DI) C# میں ایک ڈیزائن تکنیک ہے جو ڈھیلے طریقے سے منسلک پروگرامنگ بنانے کے لیے استعمال ہوتی ہے۔ یہ طریقہ کار انحصار اشیاء کی تخلیق اور پابند کو اس طبقے سے باہر منتقل کرتا ہے جس پر وہ انحصار کرتے ہیں۔ اہم مقصد مستقبل کے کوڈ میں ترمیم کو مزید قابل انتظام بنانا ہے۔
نتیجہ
C# بنیادی پروگرامنگ زبان ہے جو تمام اعلیٰ سطحی پروگرامنگ زبانوں میں استعمال ہوتی ہے۔ C# ڈویلپرز کی بہت زیادہ مانگ ہے اور وہ صنعتوں جیسے کہ فرنٹ اینڈ ڈویلپمنٹ، بیک اینڈ پروگرامنگ، اور ایپ ڈویلپمنٹ میں کیریئر کے پرکشش امکانات تلاش کر سکتے ہیں۔ اور چونکہ مائیکروسافٹ اس کی حمایت کرتا ہے، C# کی مقبولیت صرف بڑھے گی۔
مذکورہ بالا تجربہ کار پیشہ ور افراد اور ابتدائی افراد کے لیے انتہائی اہم C# انٹرویو کے سوالات ہیں۔ دیکھیں Hashdork کی انٹرویو سیریز انٹرویو کی تیاری میں مدد کے لیے۔
جواب دیجئے