标题:三目运算符 代替 if else 语句
只看楼主
Evelia
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2012-12-21
结帖率:50%
已结贴  问题点数:16 回复次数:7 
三目运算符 代替 if else 语句
string Demo1(string value)
{
    return (IsTrue(*))? null : value;
}

string Demo2(string value)
{
    string str=string.Empty;
    if(IsTrue(*))
    {
        sr=value;
    }
    else
    {
        str=null;
    }
    return str;
}

请教用demo1取代demo2有什么不足之处...
搜索更多相关主题的帖子: null return 
2013-01-14 11:36
lantian8134
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:8
帖 子:115
专家分:789
注 册:2013-1-11
得分:0 
没什么不足之处,我习惯demo1的写法,精简
2013-01-14 13:27
Maick
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:32
帖 子:251
专家分:1314
注 册:2012-9-21
得分:0 
简单,人家一行代码,你要好几行..哈哈
2013-01-14 13:55
mpi
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:99
专家分:872
注 册:2012-11-14
得分:6 
可阅读性,执行效率不一样。三目只是个计算结果,不算完整的语句。如果牵涉到类型转换,效果没有if else高。占用资源更多,也不便于其他人维护代码。

厌烦自私贪婪和不劳而获的人。
厌烦代码各种求,而不思进取的人。
本人也是菜鸟,求上进,踏实不浮躁的朋友共同进步。
2013-01-14 14:10
mmxo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:189
专家分:1090
注 册:2012-11-7
得分:10 
粗略测试了一下性能,内存因为没有剖析器无法测试,结果如图,IE代表If Else,TO代表三目、数值单位是Tick:



得出结论:貌似三目要稍快那么一点点,当然这是非专业测试……

为提高中华编程水平而奋斗
2013-01-16 00:11
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 
三目简洁,速度快,你写的代码越多,出错的可能性就越大

www.qysy.tk
2013-01-30 08:53
飞程淡定
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-4-4
得分:0 
回复 5楼 mmxo
看不。。懂?啥意思,
2013-04-05 09:01
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 
回复 7楼 飞程淡定
5楼的性能测试,三目的性能要好一些

www.qysy.tk
2013-04-08 09:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-396527-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.584277 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved