האם יש דרך לבדוק אם המשתנה מוגדר או לא?
בטח אפשר ב-try ו-catch לא?
יש איזה דרך קלה כמו בשפות אחרות?
משהו בסגנון var.isdefined
או משהו...
האם יש דרך לבדוק אם המשתנה מוגדר או לא?
בטח אפשר ב-try ו-catch לא?
יש איזה דרך קלה כמו בשפות אחרות?
משהו בסגנון var.isdefined
או משהו...
|
|
מה הכוונה מוגדר?
יש לו ערך? יש משתנה בשם הזה?
בברכה,
חגי.
אם אני לא טועה אתה יכול לעשות השוואה עם null שזה הערך ברירת מחדל למשתנה שלא הוקצה לו ערך
אה צודק זה לא עובד על משתנים בסיסיים רק על משתני ייחוס אובייקטים וקטורים וסטרינגים...
קוד PHP:using
System; using
System.Collections.Generic; using
System.Linq; using
System.Text; namespace
ConsoleApplication72 {
class Program {
static public int plus(int num) {
int i, result; try {
i++;
result += i;
}
catch (Exception e) {
i = 0;
result = 0;
}
finally {
i++;
result += i;
}
if (i == num) { return result; } }
static void Main(string[] args) {
int num; num =
int.Parse(Console.ReadLine()); Console.WriteLine(plus(num)); Console.ReadKey(); }
}
}
טוב, זה לא עובד.
אני יודע שאפשר לעשות את זה ב-1000000 דרכים יותר קלות, אני בכוונה עושה את זה ככה כדי ללמוד.
עכשיו שהבנתם למה אני מתכון, איך לעזלזל בודקים אם משתנה מוגדר?
מה שאתה יכול לעשות זה לא לדעת עם המשתמש מוגדר או לא אתה יכול לנסות לעשות דבר כזה:
קוד PHP:try {
int variable = (int)tryToCatchVar + 2;
if(variable > 2)
Console.WriteLine("Variable Exist");
else
Console.WriteLine("Variable don't Exist");
}
catch {
//Nothing to do here.
}
בברכה,
חגי.
יש לך כאן קצת בלבול...
יש שני סוגי משתנים, byRef ו byValue
משתנים byRef מאותחלים, וניתן לבדוק אותם ע"י השוואה ל null
משתנים byValue מאותחלים בצורה אוטומטית ולכן אין לך למה לבצע בדיקה
________________________________
תיקון מחשבים ומסכים
נערך לאחרונה על ידי eyal2001; 29-06-2010 בשעה 10:05.
תוסיף ? ליד סוג הטיפוס... הוא יגדיר לך את המשתנה כNULLABLE, למחלקה NULLABLE יש תכונה של HASVALUE ואם הוא מחזיר לך TRUE אז הוא מאותחל אחרת לא..