有人可以告诉我这个 c# 语法到底是什么意思:
return (int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH) == 1
说 if (int)GetValue() == 1 返回值是否正确。我不确定当 (int)GetValue() != 1 时我会返回什么。非常感谢任何帮助。
这里有几个语法。
MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH)是(可能)从注册表读取值的静态方法调用。
(int)x是转换为 的强制转换表达式x,int因此(int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH)将从注册表读取的值转换为int。
==是相等运算符。它比较两件事并返回一个bool值: true如果它们相同,false如果它们不同。
return x评估x,使结果成为函数的返回值并退出函数。
将它们放在一起,您的代码会从注册表中读取一个值。该值被转换为 anint并与 进行比较1。如果值是1函数返回true,否则返回false。
一个简单的三元语句将为您工作:
return (int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH) == 1 ? 1 : 0;
因此,如果 GetValue() == 1,则返回该值。否则,返回 0。