[問題] 「??」符號語法

作者: d25702 (DOTA)   2014-08-05 15:22:35
這是我從ASP.NET MVC擷取出來的片段程式碼如下
public ApplicationUserManager UserManager {
get
{
return _userManager ??
HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
小弟C#語法不熟,可請問前輩,
程式中的「??」符號是什麼意思?
大概怎麼用呢?
作者: vidan41 ( )   2014-08-05 15:28:00
是不是null 是的話傳回右邊的
作者: d25702 (DOTA)   2014-08-05 17:31:00
感謝~
作者: mepowerlmay (用心,找對人)   2014-08-05 19:48:00
下一篇 你一定會想問 c#『?』 是什麼意思
作者: iterator (rotareti)   2014-08-05 20:06:00
之後還可以問 "?."是什麼
作者: Abbee (阿比)   2014-08-05 20:29:00
請問"?."是什麼?
作者: qwer820404 (GB2)   2014-08-05 20:41:00
int? test 指 test可以nullable
作者: iterator (rotareti)   2014-08-05 20:50:00
C# 6.0, a?.b 表示"如果a是null,回傳null,否則回傳a.b"各位,更多的syntactic sugar,而且還很有用!
作者: Abbee (阿比)   2014-08-05 21:06:00
a.b是指整數後面加小數嗎?
作者: iterator (rotareti)   2014-08-05 21:17:00
作者: Abbee (阿比)   2014-08-05 22:03:00
哇~這超讚的~不知道vs2012有沒有
作者: mepowerlmay (用心,找對人)   2014-08-05 22:47:00
這一篇釣了不少高手....真e外
作者: stu87616 (文組工程師)   2014-08-06 01:28:00
這種冷門運算子一點也不想用...寧願多花3行寫if else
作者: d25702 (DOTA)   2014-08-06 03:30:00
「?」我知道,但「a?.b」我就不知道了感謝iterator大,我也提供一個有用的參考資料C# Operators http://ppt.cc/wnZ7我發現「?:」也很實用string decide ="";decide = (1 + 1 == 2) ? "right" : "error";
作者: FantasyRyu (眩惑之龍)   2014-08-06 10:19:00
這不是冷門問題……不然你怎麼不去用VB……更長更好讀
作者: a926 (Aaron)   2014-08-06 15:48:00
?:其實蠻常用的說 function的 function a(int x=0)這種現在也蠻常用的 XD
作者: GoalBased (Artificail Intelligence)   2014-08-06 16:24:00
無聊的時候會把 if else 改成 ? :不過我知道,到時候禕定會有人來問這是甚麼
作者: qwer820404 (GB2)   2014-08-06 21:19:00
唯一的三元運算式
作者: KanoLoa (卡)   2014-08-07 02:50:00
無聊想弄新人就會寫進去
作者: iterator (rotareti)   2014-08-07 04:04:00
多善用程式語言語法,這些東西並不只是無聊時拿來用用而已
作者: KanoLoa (卡)   2014-08-07 11:46:00
哀,想用語法也要看周遭環境能不能配合
作者: GoalBased (Artificail Intelligence)   2014-08-07 15:12:00
新人來問就算囉~等一下老闆來問叫你改回去怎麼辦呢?
作者: mepowerlmay (用心,找對人)   2014-08-07 18:41:00
個人覺得 c# 遇到 nullable 物件時很好用DateTime? a = b.HasValue ? b : null;
作者: f1234518456 (...........)   2014-08-07 20:17:00
想離職的時候都會這樣寫
作者: ssccg (23)   2014-08-07 20:38:00
??就算了,還問?:的是來亂的嗎...主流語言幾乎都有?:VB也有IIF/IF,寫別的語言就很有感覺C#在這點方便很多
作者: momokokuo   2014-08-10 15:03:00
?.在.net哪一個版本才有?
作者: uranusjr (←這人是超級笨蛋)   2014-08-10 15:09:00
上面推文就有寫了
作者: mepowerlmay (用心,找對人)   2014-08-10 20:41:00
還在開發中的6.0???
作者: followmeyo (簡簡單單)   2014-08-15 21:29:00
http://goo.gl/qXKrq5 有簡單解說

Links booklink

Contact Us: admin [ a t ] ucptt.com