none
string RRS feed

  • שאלה

  • שלום לכולם!!

    הייתי רוצה לדעת, איך אני יכולה להשוות בין 2 סטרינגים? לדעת נגיד אם מדובר באותה מילה או לא.

    תודה והמשך יום טוב!!

    יום ראשון 15 מאי 2011 10:59

תשובות

  • לא צריך להפריד שום דבר - אפשר פשוט לקרוא ל- == והוא עושה את ההשוואה.

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

    אבל באופן בסיסי כדי להשוות שני סטרינגים אפשר פשוט להשתמש ב- ==.

     


    Sasha Goldshtein | http://blogs.microsoft.co.il/blogs/sasha
    • סומן כתשובה על-ידי Shirly11 יום ראשון 15 מאי 2011 12:14
    יום ראשון 15 מאי 2011 12:09

כל התגובות

  • יכול להיות שאני לא מבין אבל אפשר להשוות בין 2 סטרינגים כמו שמשווים בין מספרים


    מנשה
    יום ראשון 15 מאי 2011 11:34
  • אבל אם זו מילה אני צריכה להפריד בין האותיות ולהתחיל להשוות אחת אחת, או שייש דרך יותר טובה...לכן אני שואלת.

     

    יום ראשון 15 מאי 2011 11:51
  • לא צריך להפריד שום דבר - אפשר פשוט לקרוא ל- == והוא עושה את ההשוואה.

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

    אבל באופן בסיסי כדי להשוות שני סטרינגים אפשר פשוט להשתמש ב- ==.

     


    Sasha Goldshtein | http://blogs.microsoft.co.il/blogs/sasha
    • סומן כתשובה על-ידי Shirly11 יום ראשון 15 מאי 2011 12:14
    יום ראשון 15 מאי 2011 12:09
  • שלום. אפשר לכתוב קוד פשוט כזה: Dim a As String = "aa s" Dim b As String = "aa s" If String.Equals(a, b) Then MsgBox("המחרוזות שוות") Else MsgBox("המחרוזות לא שוות") End If כמובן שגם רווחים נחשבים כך שאפשר להוריד רווחים לפני ההשואה. דרך נוספת (תלוי בצורך) להשוות בין שני מחרוזות היא להוציא ערך ה Hash של המחרוזות ולהשוות אותו. שיטה זו משמשת להשוות בין אובייקטים שונים למשל לודא שתוכן מסוים לא נערך בדרך בין השולח למקבל. אפשר להשתמש בפונקציה GetHashCode
    בהצלחה, ואם עזרתי, לחץ על 'סמן כתשובה', וסמן את התשובה כמועילה.
    יום ראשון 15 מאי 2011 12:20
  • בשום פנים ואופן אסור להשתמש ב- GetHashCode כדי להשוות בין שתי מחרוזות!

    אין פונקציה חח"ע ממחרוזות למספרים שלמים בני 32 ביט, ולכן תמיד אפשר למצוא שתי מחרוזות שלא יהיו שוות אבל ה- hash code שלהן יהיה שווה.

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

    לסיכום: בשום פנים ואופן אסור להשתמש ב- GetHashCode כדי להשוות בין שתי מחרוזות.


    Sasha Goldshtein | http://blogs.microsoft.co.il/blogs/sasha
    יום ראשון 15 מאי 2011 12:24
  • תודה!
    בהצלחה, ואם עזרתי, לחץ על 'סמן כתשובה', וסמן את התשובה כמועילה.
    יום שלישי 17 מאי 2011 15:48