栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用三元运算符的方法调用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用三元运算符的方法调用

上面的陈述不起作用的原因是其他用户提供的,实际上并没有回答我的真实问题。

经过更多的研究之后,我发现您可以使用该运算符执行上述声明,但是这会导致一些错误的代码。

如果我要将以上陈述改为:

int a = 5;int b = 10;int result = a == b ? doThis() : doThat();private int doThis(){    MessageBox.Show("Did this");    return 0;}private int doThat(){    MessageBox.Show("Did that");    return 1;}

这段代码将编译并执行应有的方式。但是,如果这些方法最初并不是要返回任何东西,而是在代码中引用了其他区域,则现在您每次必须调用一个返回对象来调用这些方法。

否则,您现在可以将三元运算符用于单行方法选择器,甚至可以使用结果知道它在下一行中调用了哪种方法。

int result = a == b ? doThis() : doThat();if (result == 0)   MessageBox.Show("You called doThis()!");

现在,这段代码绝对没有意义,可以通过If Else轻松完成,但是我只是想知道是否可以完成,以及您需要做什么才能使其正常工作。

现在,我知道您可以在这些方法中有效地返回任何类型,这可能会变得更加有用。它可能被认为是“错误的编码实践”,但在从来没有被要求的情况下可能会变得非常有用。

您可以根据任何条件访问一个或另一个对象,这在一行代码中可能非常有用。

UserPrivileges result = user.Group == Group.Admin ? GiveAdminPrivileges() : GiveUserPrivileges();private UserPrivileges GiveAdminPrivileges(){      //Enter pre here      return var;}private UserPrivileges GiveUserPrivileges(){      //Enter pre here      return var;}

当然,这可以通过If语句完成,但是我认为将三元运算符用于其他用途会使编程变得有趣。现在,这可能不如If Else语句有效,在这种情况下,我将永远不会使用它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465376.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号