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

看板C_Sharp作者 (DOTA)時間9年前 (2014/08/05 15:22), 編輯推噓16(16023)
留言39則, 16人參與, 最新討論串1/1
這是我從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://www.ptt.cc/bbs/C_Sharp/M.1407223358.A.89E.html

08/05 15:28, , 1F
是不是null 是的話傳回右邊的
08/05 15:28, 1F

08/05 17:31, , 2F
感謝~
08/05 17:31, 2F

08/05 19:48, , 3F
下一篇 你一定會想問 c#『?』 是什麼意思
08/05 19:48, 3F

08/05 20:06, , 4F
之後還可以問 "?."是什麼
08/05 20:06, 4F

08/05 20:29, , 5F
請問"?."是什麼?
08/05 20:29, 5F

08/05 20:41, , 6F
int? test 指 test可以nullable
08/05 20:41, 6F

08/05 20:50, , 7F
C# 6.0, a?.b 表示"如果a是null,回傳null,否則回傳a.b"
08/05 20:50, 7F

08/05 20:53, , 8F
各位,更多的syntactic sugar,而且還很有用!
08/05 20:53, 8F

08/05 21:06, , 9F
a.b是指整數後面加小數嗎?
08/05 21:06, 9F


08/05 21:17, , 11F
null propagation
08/05 21:17, 11F

08/05 22:03, , 12F
哇~這超讚的~不知道vs2012有沒有
08/05 22:03, 12F

08/05 22:47, , 13F
這一篇釣了不少高手....真e外
08/05 22:47, 13F

08/06 01:28, , 14F
這種冷門運算子一點也不想用...寧願多花3行寫if else
08/06 01:28, 14F

08/06 03:30, , 15F
「?」我知道,但「a?.b」我就不知道了
08/06 03:30, 15F

08/06 03:47, , 16F
感謝iterator大,我也提供一個有用的參考資料
08/06 03:47, 16F

08/06 03:48, , 17F
C# Operators http://ppt.cc/wnZ7
08/06 03:48, 17F

08/06 04:03, , 18F
我發現「?:」也很實用
08/06 04:03, 18F

08/06 04:04, , 19F
string decide ="";
08/06 04:04, 19F

08/06 04:04, , 20F
decide = (1 + 1 == 2) ? "right" : "error";
08/06 04:04, 20F

08/06 10:19, , 21F
這不是冷門問題……不然你怎麼不去用VB……更長更好讀
08/06 10:19, 21F

08/06 15:48, , 22F
?:其實蠻常用的說 function的 function a(int x=0)
08/06 15:48, 22F

08/06 15:48, , 23F
這種現在也蠻常用的 XD
08/06 15:48, 23F

08/06 16:24, , 24F
無聊的時候會把 if else 改成 ? :
08/06 16:24, 24F

08/06 16:24, , 25F
不過我知道,到時候禕定會有人來問這是甚麼
08/06 16:24, 25F

08/06 21:19, , 26F
唯一的三元運算式
08/06 21:19, 26F

08/07 02:50, , 27F
無聊想弄新人就會寫進去
08/07 02:50, 27F

08/07 04:04, , 28F
多善用程式語言語法,這些東西並不只是無聊時拿來用用而已
08/07 04:04, 28F

08/07 11:46, , 29F
哀,想用語法也要看周遭環境能不能配合
08/07 11:46, 29F

08/07 15:12, , 30F
新人來問就算囉~等一下老闆來問叫你改回去怎麼辦呢?
08/07 15:12, 30F

08/07 18:41, , 31F
個人覺得 c# 遇到 nullable 物件時很好用
08/07 18:41, 31F

08/07 18:42, , 32F
DateTime? a = b.HasValue ? b : null;
08/07 18:42, 32F

08/07 20:17, , 33F
想離職的時候都會這樣寫
08/07 20:17, 33F

08/07 20:38, , 34F
??就算了,還問?:的是來亂的嗎...主流語言幾乎都有?:
08/07 20:38, 34F

08/07 20:43, , 35F
VB也有IIF/IF,寫別的語言就很有感覺C#在這點方便很多
08/07 20:43, 35F

08/10 15:03, , 36F
?.在.net哪一個版本才有?
08/10 15:03, 36F

08/10 15:09, , 37F
上面推文就有寫了
08/10 15:09, 37F

08/10 20:41, , 38F
還在開發中的6.0???
08/10 20:41, 38F

08/15 21:29, , 39F
http://goo.gl/qXKrq5 有簡單解說
08/15 21:29, 39F
文章代碼(AID): #1Ju8O-YU (C_Sharp)