קטגוריות
C#

C# הגדרת משתני out בקריאה לפונקציה

אנחנו משתמשים במשתני out כאשר אנחנו רוצים להוסיף דרך נוספת לקבל ערך בחזרה מהפונקציה, בנוסף לערך החוזר עם ה- return. בגרסאות קודמות של C# היינו צריכים להגדיר את המשתנה לפני שאנחנו שולחים אותו לפונקציה, מה שהיה הופך את הקוד לפעמים לקצת מסורבל. דוגמה: החל מ- C# 7 הוסיפו תמיכה בהגדרת משתנים מסוג out באותה שורה […]

קטגוריות
C#

C# Discards עם פרמטר out

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

קטגוריות
C#

מה חדש ב-C# 6: בניית מחרוזת

עד היום, כאשר רצינו ליצור מחרוזות עם שילוב של ערכים מפונקציות או משתנים היינו צריכים להשתמש באחת הפונקציות מהמובנות של C# כמו string.Format או string.Concat.
השימוש ב-string.Format היה לעיתים מסורבל ולא נוח, היינו צריכים לזכור את סדר המשתנים שהגדרנו במחרוזת ולהגדיר אותם בסדר זהה בסוף המחרוזת, אם היינו מורידים משתנה או רוצים לשנות את הסדר זה היה יכול לגרום לתוצאות לא רצויות ואפילו לזריקת שגיאות לא צפויות (Exceptions).
ב-C#6 הוסיפו את הפונקציונליות שנקראת String Interpolation, שמאפשרת לנו לכתוב את המשתנים בתוך המחרוזת עצמה ולא בסוף כמו ב-string.Format.

קטגוריות
C#

מה חדש ב-Visual Studio 2017: שיפורים ב-IntelliSense

מה זה IntelliSense? IntelliSense (או בשמו המלא: Intelligent code completion) זה תכונה שמאפשרת סוג של השלמה אוטומטית בזמן הכתיבה וקיימת במספר תוכנות לכתיבת קוד. אחת היתרונות של IntelliSense על השלמה אוטומטית רגילה היא בכך שהיא מתאימה את עצמה לאובייקט שעליו עובדים כרגע. למשל, אם אני אפעיל אותה על class מסויים אקבל רק השלמות שמתאימות לו, למשל, […]

קטגוריות
C#

מה חדש ב-C# 6: אופרטור לביצוע פעולה אם המשתנה לא ריק

כחלק מ-C# 6 קיבלנו אופרטור חדש שמאפשר לנו לבדוק אם המשתנה ריק (Null) לפני ביצוע פעולה.

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

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

קטגוריות
C#

מה חדש ב-C# 6: אתחול משתנים ב-Class

אחת האפשרויות החדשות ב- C# 6 היא כתיבה מקוצרת של אתחול משתנים ב- Class.  אם למשל בעבר היינו צריכים להגדיר Constructor ל- Class על מנת שיאתחל את המאפיינים (Properties) שלו כאשר יוצרים אובייקט חדש (Instance) של ה- Class, אז החל מ- C# 6 אין בכך צורך וניתן לאתחל את המאפיין כבר בשורה של ההגדרה. לדוגמא, […]

קטגוריות
C#

מה חדש ב-C# 6: פונקציה לקבלת שם המשתנה

פונקציה חדשה שנוספה לנו ב- C# 6 הוא הפונקציה nameOf, פונקציה זו מקבלת משתנה כפרמטר ומחזירה את שמו. אחד השימושים היותר מעניינים שמצאתי לפונקציה הזו הוא במקרה של זריקת שגיאות, במיוחד שקשורות למשתנים (אם הם ריקים או לא חוקיים). בעבר, על מנת לזרוק שגיאה על משתנה מסויים שתכיל את שמו היינו צריכים לרשום את שמו כמחרוזת, […]

קטגוריות
C#

פקד להעלאת קובץ לאתר אינטרנט באמצעות ASP.NET Web Forms

מדריך לבניית פקד העלאת קבצים לאתר באמצעות ASP.NET Web Forms ו- C Sharp

קטגוריות
C#

איך לסדר רשימה מסוג IQueryable בצורה רנדומלית או על פי משתנה

באחת המשימות שלי התבקשתי לסדר רשימה מסוג IQueryable בצורה רנדומלית (Random). הדרך הפשוטה לעשות זאת היא באמצעות Linq והיא נעשית באמצעות שורה אחת בלבד. נניח שיש לי אובייקט שמייצג רשימה של מאמרים. לדוגמא: אוכל לסדר אותו בצורה רנדומלית כך: בהזדמנות זו אסביר גם איך לסדר אותו על פי אחד הפרמטרים של הקלאס (Class) בשם Article. נניח […]