පටුන[සඟවන්න][පෙන්වන්න]
- 1. ඇත්තටම C# කියන්නේ මොකක්ද?
- 2. C # C වලින් වෙන්කර හඳුනා ගන්නේ කුමක් ද?
- 3. ඇත්තටම පන්තියක් යනු කුමක්ද?
- 4. ඇත්තටම වස්තුවක් යනු කුමක්ද?
- 5. ස්ථිතික, පොදු සහ ශුන්ය යන පද අතර වෙනස කුමක්ද?
- 6. ඉදිකිරීම්කරුවන් නිර්වචනය කරන්න.
- 7. කසළ එකතු කිරීමේදී C# යනු කුමක්ද?
- 8. C# හි ව්යුහය යන්නෙන් අදහස් කරන්නේ කුමක්ද?
- 9. C# කේතය සම්පාදනය කරන්නේ කෙසේද?
- 10. විවිධ C# පන්ති පැහැදිලිව විස්තර කරන්න.
- 11. හරියටම Jagged Arrays යනු කුමක්ද?
- 12. out සහ ref පරාමිති අතර වෙනස කුමක්ද?
- 13. C# හි, විනාශ කරන්නා යනු කුමක්ද?
- 14. C# හි, ඉන්ඩෙක්සර් යනු කුමක්ද?
- 15. කළමනාකරණය කළ සහ කළමනාකරණය නොකළ කේතය අතර වෙනස කුමක්ද?
- 16. අනුක්රමිකකරණය විස්තර කරන්න.
- 17. C# හි, ක්ෂේත්ර සහ ගුණාංග එකින් එක වෙනස් වන්නේ කෙසේද?
- 18. C# හි ප්රකාශයන් විස්තරාත්මකව භාවිතා කිරීම ඔබට විස්තර කළ හැක්කේ කෙසේද?
- 19. ඔබ එකම ක්රමයේ නම සහිත අතුරුමුහුණත් රාශියක් එකම පන්තියේ ක්රියාත්මක කරන්නේ කෙසේද?
- 20. C# හි, Task සහ Thread අතර වෙනස කුමක්ද?
- 21. C# හි අවසන් කිරීමේ කාර්යය කුමක්ද?
- 22. Finalize blocks සහ finalize අතර වෙනසක් කරන්න.
- 23. C# බැහැර කිරීමේ ක්රමය විස්තරාත්මකව විස්තර කරන්න.
- 24. C# Method Overloading යනු කුමක්ද? පැහැදිලි කරන්න.
- 25. කියවීමට පමණක් සහ නියත අතර වෙනස කුමක්ද?
- 26. පරිශීලක පාලනය සහ අභිරුචි පාලනය යනු කුමක්ද?
- 27. C# හි, බහු විකාශන නියෝජිතයෙකු යනු කුමක්ද?
- 28. C# හි වස්තු එකතු කිරීම යනු කුමක්ද?
- 29. C#.NET හි ඇති generics යනු කුමක්ද?
- 30. පුද්ගලික අතථ්ය ක්රමයක් ප්රතික්ෂේප කිරීම කළ හැකිද?
- 31. C# හි ක්රම අධි බර පැටවීම සහ ක්රමය අතික්රමණය කිරීම අතර වෙනස හඳුනා ගන්න?
- 32. C# හි, String සහ StringBuilder අතර වෙනස කුමක්ද?
- 33. නියෝජිතයන් යනු කුමක්ද?
- 34. ඔබ C# හි බහු නූල් භාවිතා කළ යුත්තේ කවදාද සහ ඔබ එය වළක්වා ගත යුත්තේ කවදාද?
- 35. C# හි, බහු විකාශන නියෝජිතයෙකු යනු කුමක්ද?
- 36. C# හි, ප්රමාද බන්ධන සහ මුල් බන්ධන අතර වෙනස කුමක්ද?
- 37. Directcast සහ Ctype අතර වෙනස හඳුනා ගන්න?
- 38. C# හි HashSet භාවිතා කරන්නේ කෙසේද?
- 39. කරුණාකර C# හි Thread Pooling පැහැදිලි කරන්න.
- 40. C# හි Const සහ ReadOnly මූල පද අතර වෙනස කුමක්ද?
- 41. C# XSD ගොනුව සම්බන්ධයෙන් ඔබට සැපයිය හැකි විස්තර මොනවාද?
- 42. Accessor ගුණාංග ලබා ගැනීම සහ සැකසීම යන්නෙන් ඔබට අදහස් කරන්නේ කුමක්ද?
- 43. C# හි පරායත්ත එන්නත් කිරීම යනු කුමක්ද?
- නිගමනය
C# (කලින් C තියුණු ලෙස හැඳින්වූ) යනු ක්රියාකාරකම් කිහිපයක් කිරීමට සහ බහු ඉලක්ක සපුරා ගැනීමට සංවර්ධකයින් විසින් නිතර භාවිතා කරන වස්තු-නැඹුරු ක්රමලේඛන භාෂාවකි.
C++, Python සහ Java වැනි Object-oriented programming languages විවිධ රසයන්ගෙන් පැමිණේ. මෙම ක්රමලේඛන භාෂා නිර්මාණය කර ඇත්තේ යම් රාමුවක් තුළ ක්රියා කිරීමටය. ඒ හා සමානව, C# නිශ්චිත රාමුවක් සඳහා නිර්මාණය කර සංවර්ධනය කර ඇත, එනම්, NET.
.NET රාමුව නිර්මාණය කළේ මයික්රොසොෆ්ට්. එය යෙදුම්, ප්රකාශන, යෙදුම් උපදෙස් සහ යනාදිය සංවර්ධනය කිරීම සඳහා විශාල වේදිකාවක් සපයයි. C# වෙබ් සංවර්ධනය, ක්රීඩා, ජංගම යෙදුම්, windows යෙදුම්, සහ වෙනත් සමාන ව්යාපෘති.
එවැනි වාසි සමඟ, C# භාවිතය පුළුල් වී ඇති අතර, එය නිවැරදිව භාවිතා කළ හැකි විශේෂඥයින්ගේ අවශ්යතාව දෙගුණ වී ඇත. මොකද C# කියන්නේ ඒ තරම් ජනප්රිය එකක් ක්රමලේඛන භාෂාව, විශාල සහ කුඩා සමාගම් රාශියක් ඔවුන්ගේ නිෂ්පාදන පදනම් කර ගනී.
එබැවින්, සම්මුඛ පරීක්ෂණ සඳහා මූලික සහ උසස් මට්ටමේ C# ප්රශ්න පුහුණු කරන්න.
1. ඇත්තටම C# කියන්නේ මොකක්ද?
Microsoft 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. හරියටම Jagged Arrays යනු කුමක්ද?
අරා මූලද්රව්ය සහිත අරාවක් හකුරු අරාවක් ලෙස හැඳින්වේ. Jagged Arrays වල මූලද්රව්ය විවිධ හැඩයන් සහ ප්රමාණයන්ගෙන් යුක්ත විය හැක.
12. out සහ ref පරාමිති අතර වෙනස කුමක්ද?
ref ලෙස තර්කයක් ලබා දීමේදී, ක්රමයට යාමට පෙර පරාමිතිය ආරම්භ කළ යුතුය. අනෙක් අතට, ක්රමයකට සැපයීමට පෙර පිටත පරාමිතියක් ආරම්භ කිරීම අවශ්ය නොවේ.
13. C# හි, විනාශ කරන්නා යනු කුමක්ද?
destructor යනු C# හි ඇති ක්රමයක් වන අතර එය class එකක කොටසක් වේ. විනාශ කරන්නෙකුගේ මූලික කාර්යය වන්නේ මතකය නිදහස් කිරීම සඳහා පන්තියක අවස්ථා තවදුරටත් අවශ්ය නොවන විට මකා දැමීමයි. විනාශ කරන්නන් සමහර විට අවසන් කරන්නන් ලෙස හැඳින්වේ.
14. C# හි, ඉන්ඩෙක්සර් යනු කුමක්ද?
පන්තියක හෝ ව්යුහයක අවස්ථා සොයා ගැනීමට C# හි දර්ශක භාවිතා වේ. එබැවින් සුචිගත අගයන් අරාවකට සමාන ලෙස ප්රවේශ විය හැකි නමුත්, වර්ගයක් හෝ නිදර්ශන සාමාජිකයෙකු පැහැදිලිව ප්රකාශ කිරීමකින් තොරව.
15. කළමනාකරණය කළ සහ කළමනාකරණය නොකළ කේතය අතර වෙනස කුමක්ද?
කළමනාකරණය කළ කේතය ඔබට කළමනාකරණය කළ CLR ධාවන කාල පරිසරයක් මත.NET රාමුව තුළ කේතය ධාවනය කිරීමට ඉඩ සලසයි.
පාලිත කේතය මෙහෙයුම් පද්ධතියට වඩා කළමනාකරණය කළ ධාවන කාල පරිසරය මත ක්රියාත්මක වේ. කසළ එකතු කරන්නෙකු, ව්යතිරේක හැසිරවීම සහ යනාදී විවිධ සේවාවන් සපයයි.
කළමනාකරණය නොකළ කේතය යනු CLR මත ක්රියාත්මක නොවන සහ.NET රාමුවෙන් පිටත ක්රියාත්මක වන කේතයකි. ඔවුන් ඉහළ මට්ටමේ භාෂා සේවා සපයන්නේ නැති නිසා ඒවා නොමැතිව ක්රියාත්මක වේ. C++ එවැනි උදාහරණයකි.
16. අනුක්රමිකකරණය විස්තර කරන්න.
ජාලයක් හරහා එය මාරු කිරීම සඳහා අයිතමයෙන් බයිට් ප්රවාහයක් සෑදිය යුතුය. අනුක්රමිකකරණය යනු අයිතමයක් බයිට් ප්රවාහයක් බවට පරිවර්තනය කිරීමේ ක්රියාවයි. අයිතමයක් අනුක්රමික වීමට නම් Serialize අතුරුමුහුණත ක්රියාත්මක කළ යුතුය. බයිට් ප්රවාහයකින් වස්තුවක් තැනීමේ ප්රතිවිරුද්ධ දෙය de-serialization ලෙස හැඳින්වේ.
17. C# හි, ක්ෂේත්ර සහ ගුණාංග එකින් එක වෙනස් වන්නේ කෙසේද?
ක්ෂේත්රයක් යනු දත්ත ගබඩා කිරීම සඳහා ස්ථානයක් ලෙස ක්රියා කරන පන්ති සාමාජිකයෙකු හෝ වස්තුවක් වන අතර දේපලක් යනු පුද්ගලික ක්ෂේත්රයක අගය කියවීම, ලිවීම සහ ගණනය කිරීම සඳහා ක්රමයක් සපයන පන්ති සාමාජිකයෙකි.
18. C# හි ප්රකාශයන් විස්තරාත්මකව භාවිතා කිරීම ඔබට විස්තර කළ හැක්කේ කෙසේද?
යෙදුම තුළ සම්පත් එකක් හෝ කිහිපයක් භාවිතා කිරීම සීමා කිරීමට භාවිත ප්රකාශය භාවිතා කරයි. සම්පත් නිරන්තරයෙන් පරිභෝජනය කර මුදා හරිනු ලැබේ.
මෙම ප්රකාශයේ මූලික කාර්යය වන්නේ අනවශ්ය සම්පත් කළමනාකරණය කර ඒවා ස්වයංක්රීයව මුදා හැරීමයි. සම්පත භාවිතා කරන වස්තුව සෑදූ පසු, එම වස්තුවට අවශ්ය සම්පත් මුදා හැරීමට වස්තුවේ බැහැර කිරීමේ කාර්යය කැඳවා ඇති බවට වග බලා ගන්න; ප්රකාශ භාවිතා කිරීම ප්රයෝජනවත් වන්නේ මෙහිදීය.
19. ඔබ එකම ක්රමයේ නම සහිත අතුරුමුහුණත් රාශියක් එකම පන්තියේ ක්රියාත්මක කරන්නේ කෙසේද?
එකම ක්රමයේ නම සහිත අතුරුමුහුණත් කිහිපයක් ක්රියාත්මක කිරීමට, ශ්රිතයේ ශරීරය තුළ ඒවා ක්රියාත්මක කිරීමෙන් වළකින්න. ඒ වෙනුවට, ඔබ සෘජුවම ක්රම ශරීරයට අතුරු මුහුණතේ නම සපයනු ඇත. කුමන අතුරු මුහුණත් ක්රම යොමු කරන්නේද යන්න සම්පාදකයා හඳුනා ගනී, ගැටලුව ආමන්ත්රණය කරයි.
20. C# හි, Task සහ Thread අතර වෙනස කුමක්ද?
ත්රෙඩ් එකක් යනු තමන්ගේම තොගයක් සහ කර්නල් සම්පත් සහිත සැබෑ මෙහෙයුම් පද්ධති නූලකි. නූල් වඩාත්ම පාලනය සපයයි. නූල් ඔබට Abort (), Suspend () හෝ Resume () කිරීමට ඉඩ සලසයි. ත්රෙඩ් එකක තත්ත්වය නිරීක්ෂණය කළ හැකි අතර හෝ එහි අට්ටි ප්රමාණය, මහල් නිවාස තත්ත්වය සහ සංස්කෘතිය වැනි ගුණාංග සැකසිය හැක. CLR විසින් ThreadPool මගින් ඔතා ඇති නූල් පොකුණක් තබා ගනී.
Task Parallel Library එකේ Task කියලා class එකක් තියෙනවා. ThreadPool මෙන් නොව, කාර්යයට තමන්ගේම මෙහෙයුම් පද්ධති නූල් නොමැත. පෙරනිමි උපලේඛනය ThreadPool මගින් ක්රියාත්මක වුවද, TaskScheduler මගින් කාර්යයන් ක්රියාත්මක වේ. කාර්යයක් සම්පූර්ණ වූ විට දැනුම් දීමට සහ ප්රතිඵල ලබා ගැනීමට හැකි වේ.
21. C# හි අවසන් කිරීමේ කාර්යය කුමක්ද?
පිරිසිදු කිරීමේ ක්රියාවන් සඳහා භාවිතා කරන වස්තු පන්තිය අවසාන () ශ්රිතය නිර්වචනය කරයි. වස්තුවක් සඳහා යොමු කිරීමක් දීර්ඝ කාලයක් තිස්සේ භාවිතා නොකළ විට, කසළ එකතු කරන්නා බොහෝ විට මෙම කාර්යය ලෙස හැඳින්වේ.
කසළ එකතු කරන්නා ස්වයංක්රීයව පාලිත සම්පත් නිදහස් කරයි, නමුත් ඔබට ගොනු හසුරුවීම්, දත්ත සම්බන්ධතා වැනි අනවශ්ය සම්පත් නිදහස් කිරීමට අවශ්ය නම්, ඔබ අවසන් කිරීමේ කාර්යය පැහැදිලිව ක්රියාත්මක කළ යුතුය.
22. Finalize blocks සහ finalize අතර වෙනසක් කරන්න.
ව්යතිරේක හැසිරවීම සඳහා අවශ්ය බැවින් උත්සාහ කර අල්ලා ගැනීමේ වාරණ අවසන් වූ පසු නිමි කොටස කැඳවනු ලැබේ. ව්යතිරේකයට හසු වූවාද යන්න නොසලකා කේතයේ බ්ලොක් එක ක්රියාත්මක වේ. බ්ලොක් කේතය සාමාන්යයෙන් පිරිසිදුයි.
අවසන් කිරීමේ ක්රමය කසළ එකතු කිරීමට පෙර ක්රියාත්මක වේ. අවසන් කරන ලද ක්රමයේ ප්රධාන වගකීම් වන්නේ කළමනාකරණය නොකළ කේතය ඉවත් කිරීමයි, එය අවස්ථාවක් නැවත නොකැඳවන ඕනෑම අවස්ථාවක ස්වයංක්රීයව ක්රියාත්මක වේ.
23. C# බැහැර කිරීමේ ක්රමය විස්තරාත්මකව විස්තර කරන්න.
disposeof() ශ්රිතය වස්තුවක භාවිතයට නොගත් සම්පත් නිදහස් කරයි. ගොනු, දත්ත සම්බන්ධතා වැනි භාවිත නොකළ සම්පත්. මෙම ශ්රිතය IDisposable අතුරුමුහුණතෙහි නිශ්චිතව දක්වා ඇත, එය අතුරු මුහුණත IDisposable body ලෙස ප්රකාශ කිරීමෙන් පන්තිය විසින් ක්රියාත්මක කරනු ලැබේ.
බැහැර කිරීමේ කාර්යය ස්වයංක්රීයව කැඳවනු නොලැබේ; ඵලදායි සම්පත් භාවිතය සඳහා ක්රමලේඛකයා එය අතින් ක්රියාත්මක කළ යුතුය.
24. C# Method Overloading යනු කුමක්ද? පැහැදිලි කරන්න.
ක්රමය අධික ලෙස පැටවීම C# හි ඇති සාමාන්ය ප්රවේශයක් වන අතර එය එකම නම සහ නිශ්චිත අත්සන් සහිත ක්රම ගණනාවක් තැනීමට භාවිතා කරයි. මෙම ක්රියා පටිපාටිය එකම පන්තිය සමඟ නැවත නැවතත් සිදු කෙරේ.
ක්රමය අධිපූරණය කිරීමේ ක්රියා පටිපාටිය සම්පූර්ණ වූ විට, සම්පාදකය අධික බර පැටවීමේ ක්රමය මත පදනම්ව නිශ්චිත ක්රියාවන් ඇමතීමට මෙහෙයුම් ආරම්භ කරයි.
25. කියවීමට පමණක් සහ නියත අතර වෙනස කුමක්ද?
සම්පාදනය කිරීමේදී නියත විචල්ය ප්රකාශ කර ආරම්භ කෙරේ. ඊට පසු, මෙම අගය වෙනස් කළ නොහැක. අනෙක් අතට, ධාවන වේලාවේදී අගයක් වෙන් කළ පසු කියවීමට පමණක් භාවිතා වේ.
26. පරිශීලක පාලනය සහ අභිරුචි පාලනය යනු කුමක්ද?
සම්පාදනය කරන ලද කේතය අභිරුචි පාලනයන් සංවර්ධනය කිරීමට භාවිතා කරයි. මේවා මෙවලම් පෙට්ටියට ඇතුළත් කළ හැකි අතර ඒවා භාවිතා කිරීමට පහසුය. මෙම පාලන ඇදගෙන යාමෙන්, සංවර්ධකයින් විසින් ඒවා ඔවුන්ගේ වෙබ් පෝරමවලට ඇතුළත් කළ හැක.
පරිශීලක පාලන සහ ASP ඇතුළත් ගොනු බෙහෙවින් සමාන වේ. ඒවා හදන්නත් සරලයි. අනෙක් අතට, පරිශීලක පාලන මෙවලම් පෙට්ටියට එක් කළ නොහැක. ඒවා ද එයින් ඇද දැමිය නොහැක.
27. C# හි, බහු විකාශන නියෝජිතයෙකු යනු කුමක්ද?
බහු විකාශන නියෝජිතයෙකු එකවර කාර්යයන් කිහිපයකට යොමු හෝ ලිපින පවත්වාගෙන යයි. අපි බහු විකාශන නියෝජිතයා කැඳවන විට, එය එය යොමු කරන අනෙකුත් සියලුම කාර්යයන් ද ඉල්ලා සිටියි. ක්රම කිහිපයක් ඇමතීමට, නියෝජිතයා මෙන් සම්පූර්ණ ක්රම අත්සන භාවිතා කරන්න. උදාහරණයක් ලෙස:
28. C# හි වස්තු එකතු කිරීම යනු කුමක්ද?
Object pooling යනු දේවල් නැවත ගොඩනඟනවාට වඩා ප්රතිචක්රීකරණය කරන මෘදුකාංගයේ නිර්මාණ ශිල්පීය ක්රමයකි. තෝරාගත් අයිතම තටාකයක ගබඩා කිරීම සහ යෙදුමක් ඒවා ඉල්ලා සිටින විට ඒවා භාවිතය සඳහා ලබා දීමෙන් එය මෙය ඉටු කරයි. මෙම ක්රියා පටිපාටිය අනවශ්ය වස්තු උත්පාදනය අඩු කිරීමෙන් කාර්ය සාධනය වැඩි දියුණු කරයි.
29. C#.NET හි ඇති generics යනු කුමක්ද?
කේත අතිරික්තය අඩු කිරීම, වර්ගයේ ආරක්ෂාව වැඩිදියුණු කිරීම සහ වේගය වැඩි දියුණු කිරීම සඳහා නැවත භාවිතා කළ හැකි කේත පන්ති නිර්මාණය කිරීමට Generics භාවිතා කරයි. අපට Generics සමඟ එකතු කිරීමේ පන්ති සෑදිය හැකිය.
පද්ධතිය තුළ, ArrayList වැනි පන්ති වෙනුවට සාමාන්ය නාම අවකාශයක් භාවිතා කළ යුතුය. එකතු කිරීම් සඳහා නාම අවකාශය. පරාමිතික වර්ග භාවිතා කිරීම ජනක මගින් දිරිමත් කරනු ලැබේ.
30. පුද්ගලික අතථ්ය ක්රමයක් ප්රතික්ෂේප කිරීම කළ හැකිද?
පුද්ගලික අතථ්ය ක්රමයක් එය පන්තියට පුද්ගලික බැවින් එය ප්රතික්ෂේප කළ නොහැක සහ ඉන් පිටත සිට ප්රවේශ විය නොහැක.
31. C# හි ක්රම අධි බර පැටවීම සහ ක්රමය අතික්රමණය කිරීම අතර වෙනස හඳුනා ගන්න?
ක්රම ප්රතික්ෂේප කිරීම යනු ව්යුත්පන්න පන්තියක මූලික නිර්වචනය වෙනස් කිරීමේ ක්රියාවලියයි. මෙම උපාය මාර්ගයේ ප්රතිඵලයක් ලෙස ව්යුත්පන්න පන්තියේ ක්රම අවසානයේ වෙනස් ලෙස හැසිරේ.
අනෙක් අතට, ක්රමය අධික ලෙස පැටවීම, එකම පන්තිය යටතේ එකම නම සහිත නමුත් වෙනස් අත්සන් සහිත බොහෝ ක්රම උත්පාදනය කිරීමේ ක්රියාව ලෙස විස්තර කළ හැකිය.
32. C# හි, String සහ StringBuilder අතර වෙනස කුමක්ද?
තන්තු වස්තුවක් වෙනස් කළ නොහැකි ය, එයින් අදහස් වන්නේ එය නිර්මාණය කළ පසු එය වෙනස් කළ නොහැකි බවයි. තන්තු වස්තුව වෙනස් කිරීමට දරන ඕනෑම උත්සාහයක ප්රතිඵලයක් ලෙස නව තන්තු වස්තුවක් නිර්මාණය වේ.
අනෙක් අතට, නූල් සාදන්නා වස්තුවක් සුමට වන අතර සංවර්ධකයා සුදුසු යැයි පෙනෙන පරිදි වෙනස් කළ හැක.
33. නියෝජිතයන් යනු කුමක්ද?
C++ හි, නියෝජිතයන් මූලික වශයෙන් ශ්රිත දර්ශක වලට සමාන වේ. මේ දෙක අතර ඇති එකම වෙනස නම් නියෝජිතයන් වර්ගය-ආරක්ෂිත වන අතර ක්රියාකාරී දර්ශක එසේ නොවේ. නියෝජිතයන් අවශ්ය වන්නේ ඔවුන් සාමාන්ය වර්ගය-ආරක්ෂිත කාර්යයන් ගොඩනැගීමට ඉඩ සලසන බැවිනි.
34. ඔබ C# හි බහු නූල් භාවිතා කළ යුත්තේ කවදාද සහ ඔබ එය වළක්වා ගත යුත්තේ කවදාද?
Multithreading, බොහෝ විට නූල් දැමීම ලෙස හැඳින්වේ, බොහෝ ක්රියාකාරකම් සමගාමීව ක්රියාත්මක වන වැඩසටහනක වේගය වැඩි කිරීමට ඵලදායී ප්රවේශයකි. එය විවිධ නූල් ස්වාධීනව ක්රියාත්මක කිරීමට ඉඩ සලසයි, පෙර පියවර සම්පූර්ණ වන තෙක් බලා සිටීම වෙනුවට. වැඩසටහනක වේගය වැඩි කිරීමට මෙයට හැකියාව ඇත.
කෙසේ වෙතත්, වැඩසටහනේ ක්රියාවලි කිහිපයක් එකිනෙකට සම්බන්ධ වූ විට, බහු නූල් කිරීම නිර්දේශ නොකරයි. උදාහරණයක් ලෙස, පියවර A මුලින්ම සම්පූර්ණ කිරීම මත පියවර B රඳා පවතින්නේ නම්, බහු නූල් කිරීම කාර්ය සාධන ගැටළු සහ මෘදුකාංග දෝෂ ඇති කරයි. වැඩසටහනක් සංකීර්ණ ලෙස වර්ධනය වන විට නූල් දැමීම වඩ වඩාත් සංවේදී වේ.
35. C# හි, බහු විකාශන නියෝජිතයෙකු යනු කුමක්ද?
C# හි බහු විකාශන නියෝජිතයෙකු, මූලික නියෝජිතයෙකුට ප්රතිවිරුද්ධව, ඉලක්ක ක්රම රාශියකට යොමු කරයි. බහු විකාශන නියෝජිතයෙකු භාවිතා කරන විට, නියෝජිතයා විසින් පෙන්වා දෙන සියලුම කාර්යයන් හැඳින්වේ. ඒවා ක්රියාත්මක කරනු ලබන්නේ පද්ධතියේ MulticastDelegate පන්තියේ ආධාරයෙන් ය.
36. C# හි, ප්රමාද බන්ධන සහ මුල් බන්ධන අතර වෙනස කුමක්ද?
- මුල් බන්ධනය සම්පාදනය කරන වේලාවේදී සිදු වන අතර ප්රමාද බන්ධනය ධාවන කාලය තුළ සිදු වේ.
- ප්රමාද බන්ධනය බොහෝ විට මුල් බන්ධනයට වඩා මන්දගාමී වේ, මන්ද එය ධාවන වේලාවේදී සිදු වේ.
- ක්රම ඇමතුම් විසඳීමට වස්තුව භාවිතා කරන ප්රමාද බන්ධනයට ප්රතිවිරුද්ධව, කලින් බැඳීම පන්ති තොරතුරු භාවිතයෙන් ක්රම ඇමතුම් විසඳයි.
37. Directcast සහ Ctype අතර වෙනස හඳුනා ගන්න?
DirectCast හි නිශ්චිත වර්ගයට ගැළපීමට ධාවන කාල වර්ගය අවශ්ය වස්තුවේ වර්ගය DirectCast භාවිතයෙන් පරිවර්තනය කෙරේ.
ප්රකාශනයක් සහ වර්ගයක් අතර පරිවර්තනයක් නියම කළ විට, Ctype භාවිතා වේ.
38. C# හි HashSet භාවිතා කරන්නේ කෙසේද?
C# හි, HashSet යනු වෙනස් අගයන් වල පිළිවෙලකට නැති එකතුවකි. පොදුවේ ගත් කල, එය එකතුවක් තුළ අනුපිටපත් මූලද්රව්ය ඇතුළු කිරීම වැළැක්වීමට භාවිතා කරන අතර, මෙම කාර්යයේදී එය ලැයිස්තුවකට වඩා හොඳින් ක්රියා කරයි.
පද්ධතියෙන් පැවත එන HashSet පන්තිය එය ක්රියාත්මක කිරීමට භාවිතා කරයි.
39. කරුණාකර C# හි Thread Pooling පැහැදිලි කරන්න.
C# හි, නූල් සංචිතයක් යනු නූල් එකතුවකි. මෙම නූල් ප්රාථමික ත්රෙඩ් වල ක්රියාකාරීත්වයට බාධා නොකර කාර්යයන් කිරීමට යොදා ගනී. නූල් පොකුණක ඇති නූල් ක්රියාත්මක වී අවසන් වූ විට නැවත නූල් සංචිතයට පැමිණේ.
පද්ධති පන්තියේ නූල් සංචිතයේ නූල් සහ එහි ක්රියා හසුරුවන පන්ති අඩංගු වේ. නූල් දැමීම. ThreadPool යනු නාම අවකාශයකි.
40. C# හි Const සහ ReadOnly මූල පද අතර වෙනස කුමක්ද?
- ක්රමය තුළ ReadOnly ප්රකාශ කළ නොහැකි අතර Const කළ හැක.
- Const යනු compile-time නියතයක් වන අතර ReadOnly යනු ධාවන කාල නියතයකි.
- කියවීමට පමණක් අගයන් වෙනස් කළ හැක, නමුත් Const අගයන් වෙනස් කළ නොහැක.
41. C# XSD ගොනුව සම්බන්ධයෙන් ඔබට සැපයිය හැකි විස්තර මොනවාද?
XSD යනු XML Schema Definition යන්නයි. XML ගොනුව සමඟ XSD ගොනුවක් සම්බන්ධ වී නොමැති නම්, එයට ඕනෑම ගුණාංග, මූලද්රව්ය සහ ටැග් තිබිය හැක. XSD ගොනුව XML ගොනුව සඳහා රාමුවක් සපයයි, XML ගොනුවේ තිබිය යුතු සංරචක සහ ගුණාංග මෙන්ම ඒවායේ අනුපිළිවෙලද තීරණය කරයි.
42. Accessor ගුණාංග ලබා ගැනීම සහ සැකසීම යන්නෙන් ඔබට අදහස් කරන්නේ කුමක්ද?
C# හි, Get සහ Set ප්රොපරිස් ලෙසින් හඳුන්වනු ලබන්නේ ඒවා ගුණාංග භාවිතයෙන් සාදා ඇති බැවිනි. දේපලක් පුද්ගලික ක්ෂේත්රයක වටිනාකමට කියවීමට සහ ලිවීමට ඉඩ දෙයි. එවැනි පුද්ගලික ක්ෂේත්ර වලට ප්රවේශ වන්නේ ප්රවේශයන් හරහාය.
දේපලක වටිනාකම ආපසු ලබා දීමට Get දේපල භාවිතා කරන අතර, වටිනාකම සැකසීමට Set දේපල භාවිතා වේ.
43. C# හි පරායත්ත එන්නත් කිරීම යනු කුමක්ද?
යැපුම් එන්නත් කිරීම (DI) යනු ලිහිල් සම්බන්ධිත වැඩසටහන් නිර්මාණය කිරීමට භාවිතා කරන C# හි නිර්මාණ ශිල්පීය ක්රමයකි. මෙම ක්රියා පටිපාටිය ඔවුන් යැපෙන පන්තියෙන් පිටත යැපෙන වස්තූන් නිර්මාණය කිරීම සහ බැඳීම මාරු කරයි. ප්රධාන ඉලක්කය වන්නේ අනාගත කේත වෙනස් කිරීම් වඩාත් කළමනාකරණය කළ හැකි කිරීමයි.
නිගමනය
C# යනු සියලුම ඉහල මට්ටමේ ක්රමලේඛන භාෂා වල භාවිතා වන ප්රාථමික ක්රමලේඛන භාෂාව වේ. C# සංවර්ධකයින්ට විශාල ඉල්ලුමක් පවතින අතර ඉදිරිපස සංවර්ධනය, පසු-අන්ත වැඩසටහන්කරණය සහ යෙදුම් සංවර්ධනය වැනි කර්මාන්තවල ආකර්ෂණීය වෘත්තීය අපේක්ෂාවන් සොයා ගත හැකිය. මයික්රොසොෆ්ට් එයට සහය දක්වන නිසා, C# ජනප්රියතාවය වර්ධනය වනු ඇත.
ඉහත සඳහන් කර ඇත්තේ පළපුරුදු වෘත්තිකයන් සහ ආරම්භකයින් සඳහා වඩාත් තීරණාත්මක C# සම්මුඛ පරීක්ෂණ ප්රශ්න වේ. බලන්න Hashdork ගේ සම්මුඛ පරීක්ෂණ මාලාව සම්මුඛ පරීක්ෂණයට සූදානම් වීම සඳහා උපකාර සඳහා.
ඔබමයි