作者d25702 (DOTA)
看板C_Sharp
標題[問題] 「??」符號語法
時間Tue Aug 5 15:22:35 2014
這是我從ASP.NET MVC擷取出來的片段程式碼如下
public ApplicationUserManager UserManager {
get
{
return _userManager ??
HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
小弟C#語法不熟,可請問前輩,
程式中的「??」符號是什麼意思?
大概怎麼用呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.85.176.102
※ 文章網址: http://webptt.com/m.aspx?n=bbs/C_Sharp/M.1407223358.A.89E.html
1F:推 vidan41:是不是null 是的話傳回右邊的 08/05 15:28
2F:→ d25702:感謝~ 08/05 17:31
3F:推 mepowerlmay:下一篇 你一定會想問 c#『?』 是什麼意思 08/05 19:48
4F:→ iterator:之後還可以問 "?."是什麼 08/05 20:06
5F:→ Abbee:請問"?."是什麼? 08/05 20:29
6F:推 qwer820404:int? test 指 test可以nullable 08/05 20:41
7F:→ iterator:C# 6.0, a?.b 表示"如果a是null,回傳null,否則回傳a.b" 08/05 20:50
8F:→ iterator:各位,更多的syntactic sugar,而且還很有用! 08/05 20:53
9F:推 Abbee:a.b是指整數後面加小數嗎? 08/05 21:06
11F:→ iterator:null propagation 08/05 21:17
12F:推 Abbee:哇~這超讚的~不知道vs2012有沒有 08/05 22:03
13F:推 mepowerlmay:這一篇釣了不少高手....真e外 08/05 22:47
14F:推 stu87616:這種冷門運算子一點也不想用...寧願多花3行寫if else 08/06 01:28
15F:→ d25702:「?」我知道,但「a?.b」我就不知道了 08/06 03:30
16F:→ d25702:感謝iterator大,我也提供一個有用的參考資料 08/06 03:47
18F:→ d25702:我發現「?:」也很實用 08/06 04:03
19F:→ d25702:string decide =""; 08/06 04:04
20F:→ d25702:decide = (1 + 1 == 2) ? "right" : "error"; 08/06 04:04
21F:推 FantasyRyu:這不是冷門問題……不然你怎麼不去用VB……更長更好讀 08/06 10:19
22F:→ a926:?:其實蠻常用的說 function的 function a(int x=0) 08/06 15:48
23F:→ a926:這種現在也蠻常用的 XD 08/06 15:48
24F:推 GoalBased:無聊的時候會把 if else 改成 ? : 08/06 16:24
25F:→ GoalBased:不過我知道,到時候禕定會有人來問這是甚麼 08/06 16:24
26F:推 qwer820404:唯一的三元運算式 08/06 21:19
27F:→ KanoLoa:無聊想弄新人就會寫進去 08/07 02:50
28F:→ iterator:多善用程式語言語法,這些東西並不只是無聊時拿來用用而已 08/07 04:04
29F:→ KanoLoa:哀,想用語法也要看周遭環境能不能配合 08/07 11:46
30F:推 GoalBased:新人來問就算囉~等一下老闆來問叫你改回去怎麼辦呢? 08/07 15:12
31F:推 mepowerlmay:個人覺得 c# 遇到 nullable 物件時很好用 08/07 18:41
32F:→ mepowerlmay:DateTime? a = b.HasValue ? b : null; 08/07 18:42
33F:推 f1234518456:想離職的時候都會這樣寫 08/07 20:17
34F:→ ssccg:??就算了,還問?:的是來亂的嗎...主流語言幾乎都有?: 08/07 20:38
35F:→ ssccg:VB也有IIF/IF,寫別的語言就很有感覺C#在這點方便很多 08/07 20:43
36F:推 momokokuo: ?.在.net哪一個版本才有? 08/10 15:03
37F:→ uranusjr: 上面推文就有寫了 08/10 15:09
38F:推 mepowerlmay: 還在開發中的6.0??? 08/10 20:41