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

לעיתים כאשר אנחנו רוצים להשוואת מחרוזות ב-C# אנחנו משתמשים בפונקציה Equals

בעיה שנתקלתי בה לאחרונה היא שגיאת Object reference not set to an instance of an object בקוד בשורה של ההשואה בין מחרוזות באמצעות הפונקציה Equals.

 

השורה הייתה משהו בסגנון הזה:

myStr.Equals("Test") 

כאשר myStr הוא משתנה מסוג string. הבעיה עם השורה הזאת היא שבמידה ו-myStr מוגדר כ-Null נקבל שגיאה מכיוון ש Equals על משתנה שהוא Null נותנת את השגיאה Object reference not set to an instance of an object

 

לעומת זאת אם נהפוך את ההשוואה, כלומר, נכתוב אותה כך:

"Test".Equals(myStr)

נקבל False ולא שגיאה מכיוון שאין בעיה לעשות השוואה בין מחרוזת ל-Null.

 

 

הוסף תגובה