עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

בעיה בC#

Featured Replies

פורסם

מתכנתים אמיתיים לא מפחדים להשתמש ב-goto.

חוצמזה, במקרה הנ"ל, ובצורה ש-C# בנויה, אני לא רואה שום סיבה שלא להשתמש בזה.

פורסם

אם כבר מדברים על סגנון כתיבה אז הנה דעתי הראשונית:

לי זה נראה מכוער ומיותר לחלוטין, וגם מסבך את הזרימה. goto מ-case X ל-case Y, ואז goto מ-case Y ל-case Z וכו'. ממש ספגטי, ובמקרה שיהיה באג או שמישהו יערוך את הקוד ויוסיף באג, יהיה קשה למצוא אותו.

פורסם

עם שבירה קצת שונה של השורות זה לא הרבה יותר גרוע מ-fall through סטנדרטי ב-C.

(לא שאני חושב ש-fall through הוא רעיון טוב מדי באופן כללי(חוץ מהמקרה של לייבלים מרובים לבלוק קוד אחד)).

פורסם

(חוץ מהמקרה של לייבלים מרובים לבלוק קוד אחד), את זה אפשר לעשות גם ב C#.

פורסם

עם שבירה קצת שונה של השורות זה לא הרבה יותר גרוע מ-fall through סטנדרטי ב-C.

(לא שאני חושב ש-fall through הוא רעיון טוב מדי באופן כללי(חוץ מהמקרה של לייבלים מרובים לבלוק קוד אחד)).

fallthrough, עם כל הבעיות שבו (ויש), עדיין לא מייצר את הבלאגן ב-program flow שמייצר ה-goto במקרה זה. fallthrough תמיד מגיע ל-case הבא. תמיד. ה-goto בתוך case זז קדימה או אחורה, ואם משנים את סדר ה-case-ים אז גם הוא משתנה. התוצאה - קוד שקשה לתחזק ולעקוב אחריו.

break יותר נפוץ מ-fallthrough. לדעתי הבעיה העיקרית ב-fallthrough ב-C זה שהוא ברירת המחדל. אם בשביל לעשות את זה היה צריך לרשום keyword מיוחד, ובברירת המחדל ה-case היה מסתיים כמו היום עם break, זה היה מונע 90 אחוז מהבאגים לדעתי. (מלבד כמובן, אלא שנגרמים עקב שימוש ב-switch במקום משהו חכם יותר).


// example with theoretical implicit break and explicit fallthrough;
switch (foo)
{
case BAR: x = 4; /* implicit break! */

case BOO: x = y; /* implicit break! */

case BEE: printf("dyslectics have more fnu!\n") ; /* implicit break! */

case BAZ: x = 3; fallthrough;
case BLA: y = 3;
printf("wow!\n");
/* implicit break! */

default: x = 0;
};

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.