ඉඳහිට මම ජෝන් ස්කීට් සහ එරික් ලිපර්ට් වැනි අයට පහසුවෙන් පිළිතුරු දිය හැකි ස්ටැක් පිටාර ගැලීම් පිළිබඳ අද්දර සිද්ධි සහ වෙනත් අමුතුකම් පිළිබඳ ප්රශ්න දකිමි , භාෂාව හා එහි ඇති බොහෝ සංකීර්ණතා පිළිබඳ ගැඹුරු දැනුමක් පෙන්නුම් කරයි :
ඔබ භාවිතා කිරීමට නම් කියලා හිතන්න
foreach
පුඩුවක්, ඔබ කෙරෙහි එල්ලාවල මහතා ඇත එකතු ක්රියාත්මක කළ යුතුයිIEnumerable
හෝIEnumerable<T>
. නමුත් පෙනෙන පරිදි, එය ඇත්ත වශයෙන්ම අවශ්යතාවයක් නොවේ. අවශ්ය වන්නේ එකතු වර්ගය පොදු ක්රමය කැඳවා ඇති කළ යුතු බව යGetEnumerator
, ඒ නමින් මහජන දේපල තරගයක ඇති බව සමහර වර්ගය නැවත යුතුයCurrent
හා මහජන ක්රමයMoveNext
ඉතා නැවත බවbool
. එම සියලු අවශ්යතා සපුරාලන බව සම්පාදකයාට තීරණය කළ හැකි නම්, එම ක්රම භාවිතා කිරීම සඳහා කේතය ජනනය වේ. එම අවශ්යතාවයන් ඉටු නො කරන්නේ නම් පමණි අපි වස්තුව උපකරණ නම් දකින්න පරීක්ෂා කරන්නේIEnumerable
හෝIEnumerable<T>
.
එය දැන ගැනීමට සිසිල් දේවල්. එරික් මෙය දන්නේ මන්දැයි මට තේරුම් ගත හැකිය; ඔහු ඉන්නේ සම්පාදක කණ්ඩායමේ, ඒ නිසා ඔහු දැනගත යුතුයි. එහෙත් අභ්යන්තර නොවන එවැනි ගැඹුරු දැනුමක් පෙන්නුම් කරන අය ගැන කුමක් කිව හැකිද?
හුදෙක් මනුෂ්යයන් (සී # සම්පාදක කණ්ඩායමේ නොමැති) මේ වගේ දේවල් ගැන සොයා ගන්නේ කෙසේද?
නිශ්චිතවම, මෙම දැනුම ක්රමානුකූලව මුලිනුපුටා දැමීමට, ගවේෂණය කිරීමට සහ අභ්යන්තරීකරණය කිරීමට (එය ඔවුන්ගේම කර ගැනීමට) මෙම පුද්ගලයින් භාවිතා කරන ක්රම තිබේද?