משיב מוביל
string

שאלה
-
תשובות
-
לא צריך להפריד שום דבר - אפשר פשוט לקרוא ל- == והוא עושה את ההשוואה.
צריך לזכור שיש הרבה דקויות בהשוואות מחרוזות כמו למשל התעלמות או התייחסות לאותיות גדולות וקטנות, ועוד.
אבל באופן בסיסי כדי להשוות שני סטרינגים אפשר פשוט להשתמש ב- ==.
Sasha Goldshtein | http://blogs.microsoft.co.il/blogs/sasha- סומן כתשובה על-ידי Shirly11 יום ראשון 15 מאי 2011 12:14
כל התגובות
-
-
-
לא צריך להפריד שום דבר - אפשר פשוט לקרוא ל- == והוא עושה את ההשוואה.
צריך לזכור שיש הרבה דקויות בהשוואות מחרוזות כמו למשל התעלמות או התייחסות לאותיות גדולות וקטנות, ועוד.
אבל באופן בסיסי כדי להשוות שני סטרינגים אפשר פשוט להשתמש ב- ==.
Sasha Goldshtein | http://blogs.microsoft.co.il/blogs/sasha- סומן כתשובה על-ידי Shirly11 יום ראשון 15 מאי 2011 12:14
-
שלום. אפשר לכתוב קוד פשוט כזה: 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
בהצלחה, ואם עזרתי, לחץ על 'סמן כתשובה', וסמן את התשובה כמועילה. -
בשום פנים ואופן אסור להשתמש ב- GetHashCode כדי להשוות בין שתי מחרוזות!
אין פונקציה חח"ע ממחרוזות למספרים שלמים בני 32 ביט, ולכן תמיד אפשר למצוא שתי מחרוזות שלא יהיו שוות אבל ה- hash code שלהן יהיה שווה.
זה נכון גם לגבי כל אובייקט אחר, אלא אם כן יודעים משהו מאוד מאוד ספציפי על המימוש שלו.
לסיכום: בשום פנים ואופן אסור להשתמש ב- GetHashCode כדי להשוות בין שתי מחרוזות.
Sasha Goldshtein | http://blogs.microsoft.co.il/blogs/sasha -