在学习面向对象的C++语法,常常只是学习过?:的三元运算符,用于条件判断和赋值
三元运算符有三个操作数:
<test> ? <resultIfTrue> : <resultIfFalse>
其中,计算<test>可得到一个布尔值,运算符的结果根据这个值确定是<resultIfTrue>,还是<resultIfFalse>
使用三元运算符可以测试int变量myInteger的值:
string resultString = (myInteger < 10) ? "Less than 10" : "Greater than or equal to 10";
三元运算符的结果是两个字符串中的一个,这两个字符串都可能赋给resultString。把哪个字符串赋给resultString,取决于myInteger的值与10的比较。
如果myInteger的值小于10,就把第一个字符串赋给resultString;
如果myInteger的值大于或等于10,就把第二个字符串赋给resultString。
而C#中的int ? 类型、??运算符和?.运算符则意义在于可空类型
这一语法点属于泛型
大多数的值类型都是必须包含一个值,比如int、double和所有的结构。
而有时让值类型为空是非常有用的,尤其在处理数据库时,泛型使用System.Nullable<T>类型提供了使值为空的一种方式。
如:代码声明了一个变量nullableInt,它可以拥有int变量能包含的任