C# 佔位符與語法糖
阿新 • • 發佈:2020-07-25
今天看到了類似java中
System.out.printf("s=%s s=%.3s",s,s);
的語句.//此處java是輸出字串變數s 和s前三位
string valString = "Hello World."; var valSentence="Do you know the sentence that"; Console.WriteLine("{0}{1}",valSentence,valString);
發現C#中的佔位符雖然容易混淆,但用起來還是比java好使多了
然後又康到了6.0以後的語法糖
($)(?.)(??)
($)
用$寫起來就比上面那段引用符的使用看起來可讀性高了
string valString = "Hello World."; Console.WriteLine($"Do you know the sentence that { valString}.");
實際上是C# 6.0對string.Format的改進,將字串文字標識為內插字串($)
新增語法糖:(?.)
這也是C#6.0的語法,這叫Null-Conditional Operator(null條件運算子)
我們經常需要判斷物件是否為null(不判斷呢就會報異常System.NullReferenceException之類的)
string result = null;string convert = null; result = "Test"; if (result != null) { convert = result; } //和這種 result = null; convert = ((result == null) ? convert : result); Console.WriteLine(convert);
現在可以採用這種寫法
//可以改成 result為null輸出null result不為null輸出原文 Console.WriteLine(result?.ToString());
//null合併運算子 ?? //如果此運算子的左運算元不為 null,則此運算子將返回左運算元;否則返回右運算元。 //宣告一個可以為null的整形變數 //下一行程式碼等價於Nullable<int> a = null; int? num = null; Console.WriteLine(num??0);