מהו סוג דינמי ב-C#

Mhw Swg Dynmy B C



הסוג הדינמי הוצג לראשונה בגרסת C# 4.0, הסוג הדינמי מאפשר להכריז על משתנים עם דִינָמִי מילות מפתח. זה אומר שסוג המשתנה נקבע במהלך ביצוע התוכנית, ולא במהלך שלב ההידור. גמישות זו מוכיחה את עצמה כשעוסקים בנתונים שסוגם נותר לא ידוע עד זמן הריצה.

מהי הקלדה דינמית

הקלדה דינמית מאפשרת להקצות סוגים שונים של ערכים לאותו משתנה במהלך זמן הריצה. שלא כמו הקלדה סטטית, שבה סוג המשתנה נקבע בזמן ההידור ונשאר קבוע, הקלדה דינמית מציעה גמישות על ידי קביעת הסוג בזמן ריצה על סמך הערך שהוקצה. זה מבטל את בדיקת סוגי זמן ההידור על ידי דחייתו לזמן ריצה.

בהקלדה דינמית, בדיקת טיפוס אינה מתבצעת על ידי המהדר במהלך ההידור. במקום זאת, סוג המשתנה נקבע בזמן ריצה על סמך הערך שהוקצה. זה מאפשר כריכה מאוחרת, כאשר קריאות למתודה וגישה לחבר נפתרות באופן דינמי על סמך הסוג האמיתי של האובייקט.







כיצד להשתמש ב-Dynamic Type ב-C#

כדי להשתמש בסוג דינמי ב-C#, אתה פשוט מצהיר על משתנה באמצעות מילת המפתח הדינמית. לדוגמה:



myVariable דינמי = 'שלום עולם!' ;

בדוגמה זו, myVariable מוכרז כמשתנה דינמי ומוקצה לו הערך 'Hello, World!'. בזמן ריצה, הסוג של myVariable ייקבע כמחרוזת.



דוגמה לשימוש בסוג דינמי ב-C#

קוד זה מדגים את השימוש במילת המפתח הדינמית ב-C#:





באמצעות System ;
תוכנית כיתה ציבורית
{
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( )
{
dynamic myDynamicVariable = 42 ;
לְנַחֵם. WriteLine ( 'ערך: {0}, סוג: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = 'שלום עולם!' ;
לְנַחֵם. WriteLine ( 'ערך: {0}, סוג: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = שֶׁקֶר ;
לְנַחֵם. WriteLine ( 'ערך: {0}, סוג: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = תאריך שעה. עַכשָׁיו ;
לְנַחֵם. WriteLine ( 'ערך: {0}, סוג: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

פּוּמְבֵּי סטָטִי בָּטֵל MyCustomFunction ( נתונים דינמיים )
{
לְנַחֵם. WriteLine ( 'פלט פונקציה מותאמת אישית: {0}' , נתונים ) ;
}
}

מילת המפתח הדינמית מאפשרת הקלדה דינמית של משתנה, כלומר הסוג שלו יכול להשתנות בזמן ריצה. בקוד, משתנה בשם myDynamicVariable הוכרז כדינמי ובהתחלה מוקצה לו ערך שלם של 42. לאחר מכן הוא מודפס יחד עם הסוג שלו באמצעות Console.WriteLine.

לאחר מכן, ל-myDynamicVariable מוקצה ערך מחרוזת ('Hello World!') ושוב מודפס עם הסוג שלו. אותו תהליך חוזר על עצמו עבור ערך בוליאני ולבסוף עבור התאריך והשעה הנוכחיים המתקבלים באמצעות DateTime.Now.



הקוד כולל גם MyCustomFunction שלוקח נתוני פרמטרים דינמיים ומדפיס אותם. הפונקציה myDynamicVariable נקראת ארגומנט, המדגימה שניתן להעביר משתנים דינמיים לפונקציות וניתן לקבוע את סוגם בזמן ריצה.

סיכום

הסוג הדינמי ב-C# 4.0 מאפשר להצהיר על משתנים מבלי לציין את סוגם, מה שמועיל כאשר עובדים עם נתונים מסוגים לא ידועים בזמן ריצה. הקלדה דינמית מאפשרת למהדר לדלג על בדיקת סוגים במהלך ההידור. במקום זאת, סוג המשתנה נקבע כאשר התוכנית פועלת, בהתבסס על הערך שהוא מחזיק. קרא עוד על סוג דינמי במאמר זה.