在C#中
我正在关注的一本书为set和get属性提供建议:
double pri_test;
public double Test
{
get { return pri_test; }
set { pri_test = value < 0 ? -value : value; }
}
Run Code Online (Sandbox Code Playgroud)
我理解value正在做什么,它是使用属性的外部输入值,但我不明白使用-value和?符号和:
有人可以解释这意味着什么:value < 0 ? -value : value?
您正在查看条件运算符.看?: Operator (C# Reference)和?: (Wikipedia)(后一个链接非常简洁!)
你会经常看到有人把它有条件的操作员的三元运算符.这是因为三元运算符在这种情况下需要三个操作数 - 条件和两个表达式.
与之相关-value,前缀-默认否定整数
int bar = 10;
int foo = -bar;
Console.Write(foo); //prints "-10".
Run Code Online (Sandbox Code Playgroud)