Nullable types / Null Coalescing Operator
在c#分為兩種型態
1.Value ex:int 預設為0
2.Reference ex:string 預設為null
但有時候Value也需要設置為null,因為在資料庫中設任何的型態,都可以為null
那如何將value type設置為null呢
答案: 在型態後加一個問號 int? i = null;
以下的areYouMajor的bool被弄成bool?型態,所以他除了true/false外,還多了一個null的可能
class Program
{
static void Main(string[] args)
{
bool? areYouMajor = null;
if (areYouMajor == true)
{
Console.WriteLine("t");
}
else if (areYouMajor == false)
{
Console.WriteLine("f");
}
else
{
Console.WriteLine("NO Answer");
}
Console.ReadLine();
}
}
________________________________________________________
以上也可以用一個運算子來精簡 ??運算子 意思是說當??前面的變數為null,則取代成??後面的值,這個例子不好轉,因為是bool,所以我就把null當成false
class Program
{
static void Main(string[] args)
{
bool? areYouMajor = null;
bool major= areYouMajor ?? false;
Console.WriteLine(major);
Console.ReadLine();
}
}
Reference: https://www.youtube.com/watch?v=HuLJbiqpIM0
留言
張貼留言