גלה סוגי ערכים וסוגי הפניה
- 8 דקות
כאשר סוגי נתונים רבים זמינים ב- C#, בחירת סוג הנתונים הנכון לשימוש פירושה שעליך להבין מתי אתה עשוי לבחור סוג נתונים אחד על-פני סוג אחר.
לפני דיון בהסיבות האפשריות לבחירת סוג נתונים אחד על-פני סוג נתונים אחר, עליך להבין עוד אודות סוגי נתונים. בנוסף, עליך לדעת כיצד נתונים וסוגי נתונים פועלים ב- C# וב- .NET.
מהו נתונים?
מענה על השאלה "מה הם נתונים" תלוי בשאלות שלך, ובקשר שאתה שואל אותו.
בפיתוח תוכנה, הנתונים הם למעשה ערך המאוחסן בזיכרון המחשב כסידרה של סיביות. מעט הוא מתג בינארי פשוט המיוצג כ- או 01, או במקום זאת, "off" ו- "on". סיבית בודדת אינה נראית שימושית, אך בעת שילוב של 8 סיביות יחד ברצף, הן הופכות לבית. כאשר נעשה שימוש בבית, כל סיבית מקבלת משמעות ברצף. למעשה, באפשרותך לייצג 256 שילובים שונים עם 8 סיביות בלבד אם אתה משתמש במערכת בינארית (בסיס 2).
לדוגמה, במערכת ספרות בינאריות, באפשרותך לייצג את המספר בתור 19511000011. הטבלה הבאה עוזרת לך להציג באופן חזותי את אופן הפעולה. השורה הראשונה כוללת שמונה עמודות התואמות למיקום בבתים. כל מיקום מייצג ערך מספרי שונה. השורה השניה יכולה לאחסן את הערך של סיבית בודדת, או 01.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
אם אתה מסכם את 1 המספר מכל עמודה בשורה הראשונה התואמת לשורה השניה, אתה מקבל את הערך העשרוני לייצוג מערכת הספרות הבינאריות. במקרה זה, זה יהיה 128 + 64 + 2 + 1 = 195.
כדי לעבוד עם ערכים גדולים יותר מעבר 255ל- , המחשב שלך מאחסן בתים נוספים (בדרך כלל 32 סיביות או 64 סיביות). אם אתה עובד עם מיליוני מספרים גדולים בהגדרה מדעית, ייתכן שיהיה עליך לשקול בקפידה יותר באותם סוגי נתונים אתה משתמש. הפעלת הקוד עשויה לדרוש זיכרון נוסף.
מה לגבי נתונים טקסטואליים?
אם מחשב מבין רק s 0ו- 1s, כיצד הוא מאפשר לך לעבוד עם טקסט? באמצעות מערכת כגון ASCII (American Standard Code for Information Interchange), באפשרותך להשתמש בבתים אחד כדי לייצג אותיות רישיות וקטנות, מספרים, טאב, backspace, שורה חדשה וסימנים מתמטיים רבים.
לדוגמה, אם ברצונך לאחסן a אות קטנה יותר כערך ביישום שלי, המחשב יבין רק את התבנית הבינארית של ערך זה. כדי להבין טוב יותר כיצד אות קטנה מטופלת על-ידי a המחשב, עליי לאתר טבלת ASCII המספקת ערכי ASCII ואת שווי הערך העשרוניים שלהם. באפשרותך לחפש את המונחים "בדיקת מידע עשרונית של ASCII" כדי לאתר משאב כזה באופן מקוון.
במקרה זה, האות של אותיות קטנות שווה ערך a לערך העשרוני 97. לאחר מכן, תשתמשו באותה מערכת ספרות בינאריות בכיוון הפוך כדי לגלות כיצד אות ASCII a מאוחסנת על-ידי המחשב.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
מאז 64 + 32 + 1 = 97, קוד ה- ASCII הבינארי של 8 סיביות עבור a הוא 01100001.
ייתכן שלעולם לא תצטרך לבצע המרות מסוגים אלה בעצמך, אך הבנת נקודת המבט של המחשב לגבי הנתונים היא רעיון בסיסי, במיוחד כאשר אתה שוקל סוגי נתונים.
מהו סוג נתונים?
סוג נתונים הוא דרך שבה שפת תיכנות מגדירה את הזיכרון שיש לשמור עבור ערך. קיימים סוגי נתונים רבים בשפת C# לשימוש עבור יישומים וגדלים רבים ושונות של נתונים.
עבור רוב היישומים שאתה בונה בקריירה שלך, עליך להתיישב על קבוצת משנה קטנה מכל סוגי הנתונים הזמינים. עם זאת, עדיין חשוב לדעת שאחרים קיימים ומדוע.
סוגי ערכים לעומת הפניה
מודול זה מתמקד בשני הסוגים ב- C#: סוגי הפניות וסוגי ערכים.
משתנים של סוגי הפניה מאחסנים הפניות לנתונים שלהם (אובייקטים), שהם להצביע על ערכי נתונים המאוחסנים במקום אחר. בהשוואה, משתנים של סוגי ערכים מכילים ישירות את הנתונים שלהם. כאשר אתה לומד עוד אודות C#, פרטים חדשים מתפתחים הקשורים להבדל הבסיסי בין סוגי הערכים וההפניות.
סוגי ערכים פשוטים
סוגי ערכים פשוטים הם ערכה של סוגים מוגדרים מראש המסופקים על-ידי C# כמלות מפתח. מילות מפתח אלה הן כינויים (כינוי) עבור סוגים מוגדרים מראש המוגדרים בספריית המחלקה של .NET. לדוגמה, מילת המפתח C# int היא כינוי של סוג ערך המוגדר בספריית הכיתה של .NET בתור System.Int32.
סוגי ערכים פשוטים כוללים רבים מסוגי הנתונים שייתכן שהשתמשת בהם כבר like ו char - bool. קיימים גם סוגים רבים של ערכים שלמים וערכים של נקודה צפה כדי לייצג טווח רחב של מספרים שלמים ושברים.
תקציר
- ערכים מאוחסנים כסיביות, שמבוררי 'פועל/ כבוי' פשוטים. שילוב של מספיק בוררים אלה מאפשר לך לאחסן בערך כל ערך אפשרי.
- קיימות שתי קטגוריות בסיסיות של סוגי נתונים: ערכים וסוגי הפניה. ההבדל הוא באופן והיכן הערכים מאוחסנים על-ידי המחשב בעת ביצוע התוכנית.
- סוגי ערכים פשוטים משתמשים בכינוי מילת מפתח כדי לייצג שמות רשמיים של סוגים בספריית .NET.