C#中nullable的value比對請盡量用雙等號不要用Equals
很久前寫過的
在日常工作Blazor Server開發中
往往只要一有類似exception 比方最常遇到的null exception
就會斷線
因此寫的程式就需要不斷驗證且更加謹慎= =|||
使用Equals在string之間值比對
1 2 3 4 5 6 7 8 9 10 11 | try { string str = null; if (str.Equals("test")) { Console.WriteLine("if"); } else { Console.WriteLine("else"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); |
結果會有例外
因為前方為null 再調用.Equals
要將兩邊顛倒
不過左右順序往往還要多加這塊判定其實也比較麻煩
第二種叫建議方式
若是nullable (int? ,short?)或者string
都建議用雙等號比對就不會報null exception程式也較穩定不會有未爆彈
1 2 3 4 5 6 7 8 9 10 11 | try { string str = null; if (str == "test") { Console.WriteLine("if"); } else { Console.WriteLine("else"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); |
留言
張貼留言