C# 中感嘆號(!) 做用盤點

1.關係運算符

!= 與等號共同組成關係運算符,檢查兩個操做數的值是否相等,如:A!=Bjson

2.邏輯運算符

! 稱爲邏輯非運算符。用來逆轉操做數的邏輯狀態。若是條件爲真則邏輯非運算符將使其爲假。如:bool a=true; bool b=!a;翻譯

3.null 容忍操做符(null-forgiving operator)

來自於 C#8 的新特性,比較冷門,國內的翻譯 C#8 的文章基本都沒有提到。它是一個很是有用的特性。code

官方文檔:! (null-forgiving) operator (C# reference)blog

它的主要做用就是告訴編譯器,變量不可能爲 null,這對於有代碼潔癖的人來講很是有用。文檔

上面的代碼,json["name"] 返回的是可空引用類型 JToken? 因此通常須要作是否爲空的判斷,否則調用 Value<string>() 方法會引發異常。可是在上圖的代碼中,是不可能爲空的,因此要去掉這個波浪線,要麼寫個 if 判斷來取消,要麼就使用 !get

可是注意這個不要亂用,只有確認必定不會爲空的時候才能使用編譯器

相關文章
相關標籤/搜索