如果在C#中使用运算符(?:),可能存在下行问题?

如果在C#中使用运算符(?:),可能存在下行问题?,第1张

概述我似乎记得在C#中避免使用Immediate If运算符( ?:),但我不知道我在哪里阅读它以及它是什么.我认为这与在决定条件结果之前执行真假部分这一事实有关.它是否正确?或者在VB.Net中是这样的? 它实际上称为条件运算符,在MSDN中称为“?:”.它基本上是if-else的简写符号,除了这实际上是表达式,而不是语句.因为如果对此运算符没有任何警告,它等同于. 你读到的内容可能与VB.NET中 我似乎记得在C#中避免使用Immediate If运算符( ?:),但我不知道我在哪里阅读它以及它是什么.我认为这与在决定条件结果之前执行真假部分这一事实有关.它是否正确?或者在VB.Net中是这样的?解决方法 它实际上称为条件运算符,在MSDN中称为“?:”.它基本上是if-else的简写符号,除了这实际上是表达式,而不是语句.因为如果对此运算符没有任何警告,它等同于.

你读到的内容可能与VB.NET中的Iif函数有关.作为一个函数,它在被调用之前会对其所有参数进行求值,所以

Dim s As String = Iif(person Is nothing,String.Empty,person.Firstname)

将导致抛出NullReferenceException.

总结

以上是内存溢出为你收集整理的如果在C#中使用运算符(?:),可能存在下行问题?全部内容,希望文章能够帮你解决如果在C#中使用运算符(?:),可能存在下行问题?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1226379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存