עבור לתוכן

שאלה בC# איך אני בודק אם אינטגר ריק?

Featured Replies

פורסם

אזז ככה אם אני כל פעם קולט מספר מסוג אינטגר(int)

איך אני יכול לבדוק אם בכלל מתי המשתמש בעצם משאיר אותו ריק

מבלי להעביר לסטרינג או הפוך?

תודה מראש

דור

פורסם

אין כזה דבר int ריק. הוא תמיד מכיל מספר (0 כברירת מחדל).

איך אתה קולט מהמשתמש?

פורסם
  • מחבר

אני בעצם עושה תוכנה ללימוד חשבון, פחות או יותר..

עכשיו אני מבצע קליטה כל פעם של התשובה מהמשתמש ע"י

int.parse(consol.readline());

ואני רוצה בעצם שתנאי הקצה של הלולאה יהיה כאשר המשתמש בעצם לא מקליד כלום ופשוט לוחץ על אנטר

פורסם

אתה יכול להשתמש ב tryparse. אם לא ניתן להפוך, זה יחזיר FALSE, אם ניתן להפוך, זה יחזיר TRUE ובפרמטר הOUT(הפרמטר השני) זה יתן את המספר עצמו.

פורסם
  • מחבר

לא הבנתי.. אתה יכול לפרט עוד קצת?

פורסם

int x;
if (int.TryParse(Console.ReadLine(), out x)
{
// the user entered a number, x contains it
}
else
{
// the user didn't enter a number, x == 0
}

פורסם

אין כזה דבר int ריק. הוא תמיד מכיל מספר (0 כברירת מחדל).

אלא אם כן הוא משתמש ב Nullable Type.

פורסם
  • מחבר

int x;
if (int.TryParse(Console.ReadLine(), out x)
{
// the user entered a number, x contains it
}
else
{
// the user didn't enter a number, x == 0
}

סבבה

זה עובד רק רציתי לדעת מה בעצם הפעולה ההפוכה מזה

int.TryParse(Console.ReadLine(), out x

במקרה ואיננני רוצה להתמש בelse אלא ישר לשאול..

פורסם

Very simple:

if (int != null)

{}

else{}

פורסם

והינה הדרך הכי פשוטה

תעשה בתנאי - אם הקלט הוא 'r\' (אנטר) אז...

פורסם

זה עובד רק רציתי לדעת מה בעצם הפעולה ההפוכה מזה

int.TryParse(Console.ReadLine(), out x

במקרה ואיננני רוצה להתמש בelse אלא ישר לשאול..

לא הבנתי מה הבקשה. מה זאת אומרת "הפעולה ההפוכה"?

Very simple:

if (int != null)

{}

else{}

לא יעבוד, int לא יכול להיות null, אלא אם הוא nullable.

והינה הדרך הכי פשוטה

תעשה בתנאי - אם הקלט הוא 'r\' (אנטר) אז...

ירידת שורה זה 'n\', וזה לא בהכרח יהיה נכון (זה יכול להיות גם "r\n\").

פורסם

ואם יש שם בטעות abc זה אסון גדול.

פורסם

לגבי הירידת שורה אתה יכול להשוות ל System.Environment.NewLine אבל לא הבנתי מה הבעיה בלהשתמש ב TryParse.

פורסם

כל מה שנכתב כאן שגוי או מציע פתרונות עוקפים

k-o-b-y היה הכי קרוב לפתרון רק לא ציין איך : אפשר להגדיר nullable types על משתנים פרימיטיבים על ידי הסימון ? (סימן שאלה)


int? x1=null;
if(x1 == null)
{
}
else
{
}

פורסם

nullable זה אחד הפאצ'ים הגדולים ביותר שמיקרוסופט המציאו. אני נגד השימוש בו.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים