C#中(bool ? string : string)作用及MakeOrderKey方法返回逻辑解析
代码解析与语法说明
一、return语句的功能
先看前置的bool b = (string.Compare(s1, s2) < 0);:string.Compare会按字典序比较两个字符串,返回值小于0说明s1排在s2前面。
return语句的作用是:不管输入的s1和s2顺序如何,最终返回的都是按字典序升序排列的两个字符串,用/分隔。比如:
- 若
s1="cat"、s2="dog",b为true,返回"cat/dog"; - 若
s1="dog"、s2="cat",b为false,返回"cat/dog"。
二、所用语法的名称
这里用到的是三元条件运算符,C#里的标准语法格式为条件 ? 条件为真时的表达式 : 条件为假时的表达式。
三、C#中(bool ? string : string)的作用
这是三元条件运算符的具体应用:
- 当括号内的
bool值为true时,返回?后方的第一个字符串; - 当
bool值为false时,返回:后方的第二个字符串; - 它是
if-else语句的简化写法,能快速根据布尔条件二选一返回结果,让代码更简洁紧凑。
内容的提问来源于stack exchange,提问作者Callumari
相关产品推荐
相关产品推荐

