[C#] ??雙問號的意思及用法
2017-04-25 16:38
197 查看
int? x = null; int y = x ?? -1;
上面二行中,第一行是將x變數放入null,為什麼int能放null,可以參考另一篇文章http://charleslin74.pixnet.net/blog/post/444588266-%5BC#%5D%20%E8%AE%8A%E6%95%B8%E5%9E%8B%E6%85%8B%E5%BE%8C%E5%8A%A0%E5%95%8F%E8%99%9F%E7%9A%84%E6%84%8F%E6%80%9D
第二行就用到了雙問號,它的意思是先判斷x是不是null,如果是null就用-1來代替null給y,如果不是null就以x的值來給y
int i = GetNullableInt() ?? default(int);
上面這一行是要給i值,基本上i的值是由GetNullableInt()運行後結果所產生,但有例外,如果運行後的結果是null,就以int的預設值0,來賦值給i
string s = GetStringValue(); Console.WriteLine(s ?? "Unspecified");
而上面這二行表示s是由GetStringValue()運行後產生,第二行會印出s,但如果s是null就改印Unspecified.
其實擴展開來的意思如下
int? x = null;
int y;
if(x != null)
{
y = x.value;
}
else
{
y = -1;
}
相关文章推荐
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
- C#中一些字符串操作的常用用法
- 几个比较好用的Windows API在C#中的用法。
- C#中As 及Is 的用法
- C#中一些字符串操作的常用用法
- C#中一些字符串操作的常用用法
- C#中正则表达式的用法
- C#中一些字符串操作的常用用法
- C#中一些字符串操作的常用用法
- C#中一些字符串操作的常用用法
- C#中一些字符串操作的常用用法
- C#中ListView(CheckBox)一用法
- C# Delegate的用法之一
- C#中As 及Is 的用法
- C#中一些字符串操作的常用用法
- [收藏]C#中一些字符串操作的常用用法
- C#中字符串的常用用法(原创)
- C#中一些字符串操作的常用用法
- C#中迭代器的用法
- 用javascript模拟C#的[Attribute]用法