עבור לתוכן

שאלה בc# לגבי בדיקת הימצאותו של מספר בתוך משתנה

Featured Replies

פורסם

אז ככה רציתי לברר איך אני יכול לבדוק אם מיספר מסויים כדוגמת 8

נמצא במשתנה x שמכיל לדוגמא את המספר 97854

פורסם

הממ, שתי אופציות:

או שתעבור על המספר ספרה-ספרה (באמצעות פעולות חילוק ומודולו), ותבדוק אם יש ספרה ששווה ל-8,

או שתמיר את המספר למחרוזת באמצעות ToString ותחפש בתוכה את התו '8' באמצעות Contains או IndexOf (קצת פחות אלגנטי, אבל יותר פשוט).

פורסם
  • מחבר

אתה יכול לפרט יותר לגבי הדרך השניה.. כי אני דיי חדש בשפה

וכי עם הראשונה זה יצא אידיוטי למדי כי המספרים מגיעים ל מספרים מאוד גבוהים

פורסם

מה אידיוטי בדרך הראשונה?

אני אשמח אם תכתוב את הפתרון שלך כאן.

לגבי הדרך השנייה, הכוונה היא ככה:

x.ToString().Contains("8")

או

x.ToString().IndexOf('8') >= 0

פורסם

אתה יכול לפרט יותר לגבי הדרך השניה.. כי אני דיי חדש בשפה

וכי עם הראשונה זה יצא אידיוטי למדי כי המספרים מגיעים ל מספרים מאוד גבוהים

ואיך חשבת שממירים את המספר למחרוזת?

פורסם

אתה יכול לפרט יותר לגבי הדרך השניה.. כי אני דיי חדש בשפה

וכי עם הראשונה זה יצא אידיוטי למדי כי המספרים מגיעים ל מספרים מאוד גבוהים

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

פורסם

הדרך השנייה כוללת את הראשונה בתוכה נכון?

פורסם

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

פורסם

אבל הדרך הראשונה יעילה ועדיפה יותר מהשניה.

פורסם

כמובן.

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

פורסם

אני די מתנגד לדעתך

אין שום דבר מסובך ב מציאת ספרה במספר

זה דבר שנעשה מאז ASSEMBLER

וזה פשוט מאוד!

זה שאתה לא אחראי לקוד לא עושה יותר טוב

אולי אפילו להפך

כשאתה עושה את זה את יכול ליעל את זה

ולהפסיק את הלולאה ברגע שאתה מגיע למספר

ובכלל לא להתמודד עם STRING זה עוד ברכה

פורסם

הכוונה שלי היא שהפתרון שלי הוא "quick and dirty". הוא עושה את העבודה בשורת קוד אחת, בלי מחשבה מיותרת.

פורסם

יש לך משהו שם

אבל מתכנת לא היה מתעצל לקטע קוד כזה

זה פשוט כלום

ובמיוחד עם התוכנית מבצעת את הפעולה הזו פעמים רבות

אז באמת כדאי לא לגשת לפונקציות מערכת במיוחד בסביבות עבודה חדשות שרצות על VM

מה קרה לכוח של C/C++?

אין לזה חשיבות היום?

פורסם

יש לך משהו שם

אבל מתכנת לא היה מתעצל לקטע קוד כזה

זה פשוט כלום

ובמיוחד עם התוכנית מבצעת את הפעולה הזו פעמים רבות

אז באמת כדאי לא לגשת לפונקציות מערכת במיוחד בסביבות עבודה חדשות שרצות על VM

מה קרה לכוח של C/C++?

אין לזה חשיבות היום?

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

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

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

פורסם

דווקה ב F1 אחד הדברים שכל הזמן חוזרים אליהם וממציאים אותם מחדש זה הגלגלים

אממממ.... אולי זה אומר משהו...

ארכיון

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

דיונים חדשים