gpt4 book ai didi

c# - 转换不可空或返回默认值(类型)的常用方法是什么

转载 作者:行者123 更新时间:2023-11-30 14:10:10 25 4
gpt4 key购买 nike

使用 ASP.NET MVC 中的所有字典(如 RouteData、DataTokens 等),我经常发现自己想要做的事情如下:

bool isLolCat = routeData["isLolcat"] as bool

这将返回转换后的值,或者当值为 null 时返回默认值(在本例中为 false)。

是否有任何简短、可读、简单的方法来执行此操作,还是我最好编写一个辅助扩展方法?

扩展方法应该是这样的。

bool isLolCat = routeData["isLolcat"].TryCast<bool>();
  • 如果有通用的方法,我不想用自定义语法重新发明轮子。
  • 当我只是想从字典中获取 bool 值时,我不想让我的代码乱七八糟。

最佳答案

也许你喜欢以下任何一个:

(routeData["isLolcat"] as bool?).GetValueOrDefault()
(routeData["isLolcat"] as bool?).GetValueOrDefault(false)
(routeData["isLolcat"] as bool?) ?? false

否则,您将不得不编写一个帮助程序。我实际上建议使用帮助器,因为我发布的代码有点混淆你的意思。我宁愿看到这个:

routeData.GetOrDefault<bool>("isLolcat")

因为这会以书面形式记录您的意图。

关于c# - 转换不可空或返回默认值(类型)的常用方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25341187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com