Integer ו NULL

האזרחק

New member
Integer ו NULL

האם Integer יכול להיות NULL ב VB.NET? יש לי שדה Integer בתוך טבלה שלפעמים יש לו ערך ולפעמים לא, כשאני מנסה להכניס אותו לתוך משתנה מתקבלת שגיאה בכל פעם שהוא NULL - האם ניתן לעשות משהו מלבד לקבוע ש NULL=0 (וזה לא טוב כי 0 זה 0 ו NULL זה NULL)...
 

Zeliran

New member
אכן בעייתי

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

pagis

New member
int, null וכו' - הסיבה פשוטה

משתנים מסוג structure (AKA struct) לא יכולים להיות עם ערך NULL ומסיבה מאוד הגיונית, מכיוון ש struct-ים הם הקצאה ישישה בזכרון ולא reference מטיפוס מסויים למיקום בזכרון, לא ניתן להציב בהם NULL.
 

marinabl

New member
או במילים קצת אחרות

ב C# (ואני מניחה שאין יותר מדי הבדל), יש הבדל בין int (primitive type) לבין Integer כאובייקט. לאובייקט אפשר לתת ערך null.
 

gilad g

New member
../images/Emo45.gif

int, char, struct הם value types, ולכן לא ניתן לתת להם ערך null. ערך null ניתן לתת רק למשתני reference type.
 
למעלה