עבור לתוכן

פעולת math במשפט if בשפת (c#)

Featured Replies

פורסם

שלום .

יש לי בעיה , יש משפט IF כלשהוא ואני רוצה שהוא יתעלם מהמינוס . המשפט אומר :

   if (((bishopRow - rookRow) == (bishopCol - rookCol)))

עכשיו לפעמים זה יוצא -2 ו2 אך אני רוצה שהוא בכל זאת יקבל את התנאי. ואני גם יודע שיש את הפעולה Math.abc שמבטלת את המינוס , השאלה היא אם אני יכול להכניס אותה במשפט IF ? אם כן איך?

פורסם

if ((Math.abs(bishopRow - rookRow) == Math.abs(bishopCol - rookCol)))

פורסם

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

אם היית עושה את זה, היית מבין לבד את הבעיה.

int firstNum = math.abs(bishoprow - rookrow);
int secondNum = math.abs(bishopcol - rookcol);
if (firstNum == SecondNum)

לא יותר ברור?

פורסם

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

אם היית עושה את זה, היית מבין לבד את הבעיה.

int firstNum = math.abs(bishoprow - rookrow);
int secondNum = math.abs(bishopcol - rookcol);
if (firstNum == SecondNum)

לא יותר ברור?

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

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

אם נעשה סקירה קלה של כל המתכנתים המנוסים שאני מכיר, וסריקה קלה של המלצות ברשת לכתיבת קוד, אני מסופק שנראה את ההמלצה הזו. גם לא זוכר שראיתי אותה בcode complete.

גם אם זה משהו מיוחד ל-C# (ואני ממש בספק) אז עדיף לסייג את המשפט.

ארכיון

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

דיונים חדשים