有人可以告诉我这个 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。