קטגוריות
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#

טיפ להשוואה בין מחרוזות ב-C#

לעיתים כאשר אנחנו רוצים להשוואת מחרוזות ב-C# אנחנו משתמשים בפונקציה Equals.  בעיה שנתקלתי בה לאחרונה היא שגיאת Object reference not set to an instance of an object בקוד בשורה של ההשואה בין מחרוזות באמצעות הפונקציה Equals. השורה הייתה משהו בסגנון הזה: כאשר myStr הוא משתנה מסוג string. הבעיה עם השורה הזאת היא שבמידה ו-myStr מוגדר כ-Null נקבל שגיאה […]

קטגוריות
C#

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

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