当前位置: 首页 > 编程语言 > C#

什么意思?分享

时间:2023-04-10 17:07:28 C#

这是什么意思?我正在查看由ASP.NETMVC1.0生成的代码并想知道;双问号是什么意思?//MVC框架不使用此构造函数,而是为了方便//对该类型进行单元测试而提供。查看此文件末尾的注释以获取更多//信息。publicAccountController(IFormsAuthenticationformsAuth,IMembershipService服务){FormsAuth=formsAuth??新的FormsAuthenticationService();会员服务=服务??新帐户会员服务();}有关的:??EmptyFusionOperator->merge是什么意思?这是空合并运算符。如果该值不为空,则返回其左侧的值,否则返回右侧的值(即使它为空)。它们通常与默认值链接在一起。查看这篇文章了解更多信息这意味着相同If(formsAuth!=null)FormsAuth=formsAuth;否则FormsAuth=FormsAuthenticationService();它是来自MSDN的空合并运算符????operator被称为null-coalescingoperatorspecifier来定义可为null的值类型和引用类型的默认值。如果不为空,则返回左操作数;否则返回正确的操作数。可空类型可以包含一个值,也可以是未定义的。这????运算符定义将可空类型分配给不可空类型时要返回的默认值。如果您尝试在不使用??的情况下将可空值类型分配给不可空值类型运算符,你会产生一个编译时错误。如果使用强制转换,并且当前未定义可空值类型,则会抛出InvalidOperationException。有关详细信息,请参阅可空类型(C#编程指南)。结果是??运算符不被视为常量,即使运算符都是常量。它是零合并运算符。如果左边的值为空,那么它将返回右边的值。如果formsAuth为null,则返回右边的值(newFormsAuthenticationService())。这意味着:如果它是非NULL,则返回第一个值(例如“formsAuth”),否则返回第二个值(newFormsAuthenticationService()):Slag以上是C#学习教程:什么意思?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: