דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. בעיה בחיפוש כשבחלק מהאובייקטים המאפיין ריק

בעיה בחיפוש כשבחלק מהאובייקטים המאפיין ריק

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 2 כותבים 563 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avr416
    כתב ב נערך לאחרונה על ידי
    #1

    כאשר אני מבצע חיפוש ע"פ מס' טלפון ולחלק מהאנשים ברשימה לא מוזן להם מס' טלפון, אז אני מקבל שגיאה:
    "ההפניה לאובייקט לא הוגדרה למופע של אובייקט", כנראה בגלל שלא הוזן למאפיין הזה שום ערך הוא מוגדר כnull ולכן זה זורק לי את השגיאה הנ"ל.
    כיצד אפשר להתגבר על כך, כדי שהוא יציג לי את תוצאות החיפוש מתוך האובייקטים שכן הוזן להם מס' טלפון?
    תודה רבה!
    הקוד הוא:

    if(!string.IsNullOrEmpty(telSearch.Text))
    {
         donorFiltered = donorFiltered.Where(x => x.Tel.Contains(telSearch.Text));
    }
    

    פורסם במקור בפורום CODE613 ב07/09/2015 21:32 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • A מנותק
      A מנותק
      avr416
      כתב ב נערך לאחרונה על ידי
      #2

      אז הנה התשובה:

      donorFiltered.Where(x => (x.Tel ?? "").Contains(telSearch.Text));
      

      פורסם במקור בפורום CODE613 ב07/09/2015 21:44 (+03:00)

      תגובה 1 תגובה אחרונה
      1
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

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

        public static bool Contains2(this string source, string toCheck)
        {
            if (string.IsNullOrEmpty(toCheck)) return true;
        
            return source != null && source.IndexOf(toCheck, StringComparison.InvariantCultureIgnoreCase) >= 0 ;
        }
        

        פורסם במקור בפורום CODE613 ב07/09/2015 22:55 (+03:00)

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        1
        • A מנותק
          A מנותק
          avr416
          כתב ב נערך לאחרונה על ידי
          #4

          תודה רבה זה עובד מצויין!!
          רק לא בדיוק הבנתי איך זה עובד..
          בשורה הראשונה אתה בודק האם המחרוזת ששלחתי לחיפוש אינה ריקה, ואם כן אתה מחזיר true. זה כדי להתגבר על משתמש שיחפש בטעות בלי להזין שום ערך? ומה בדיוק מחזיר הטרו?? לכאו' שום דבר ובאותה מידה יכלת להחזיר false, לא?
          בשורה השניה, מה זה StringComparison.InvariantCultureIgnoreCase?
          תודה רבה רבה!

          פורסם במקור בפורום CODE613 ב08/09/2015 12:17 (+03:00)

          תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            נגיד הtelSearch.Text ריק. אז אני מחזיר חיובי - כי זה נחשב מבחינתי התאמה (האם המחרוזת "XXX" מכילה ""? לטעמי/לצרכיי כן). ייתכן שאצלך לא.
            InvariantCultureIgnoreCase זה אומר לא להיות רגיש לאותיות גדולות קטנות - בלועזית (בתוכנה שלי בה הייתי צריך את זה השמות לועזיים).

            פורסם במקור בפורום CODE613 ב08/09/2015 12:46 (+03:00)

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            1
            • A מנותק
              A מנותק
              avr416
              כתב ב נערך לאחרונה על ידי
              #6

              ומדוע העדפת להשתמש בIndexOf ולא בcontains המקורי?

              פורסם במקור בפורום CODE613 ב08/09/2015 12:48 (+03:00)

              תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #7

                נו, בגלל האותיות רישיות.
                http://referencesource.microsoft.com/#mscorlib/system/string.cs,2118

                פורסם במקור בפורום CODE613 ב08/09/2015 14:58 (+03:00)

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                1
                • A מנותק
                  A מנותק
                  avr416
                  כתב ב נערך לאחרונה על ידי
                  #8

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

                  פורסם במקור בפורום CODE613 ב08/09/2015 15:17 (+03:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @avr416

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

                    בכלל לא בורות לקח לי דקות ארוכות להיזכר למה באמת.
                    ו"לעבור על הפרימוורק" תדע לך שאני עדיין לא עברתי 🙂

                    פורסם במקור בפורום CODE613 ב08/09/2015 15:18 (+03:00)

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    2

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום