有人可以告诉我这个c#语法究竟意味着什么:
return (int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH) == 1
说if(int)GetValue()== 1返回值是否正确?我不确定在什么时候返回什么(int)GetValue()!= 1.非常感谢任何帮助。
答案 0 :(得分: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
。
==
是equality operator。它会比较两件事并返回bool
值:true
如果它们相同,false
如果不相同,则返回return x
。
x
计算int
,使结果成为函数的返回值并退出函数。
总而言之,您的代码从注册表中读取值。该值将转换为1
并与1
进行比较。如果值为true
,则函数返回false
,否则返回{{1}}。
答案 1 :(得分:0)
简单的三元声明适合您:
return (int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH) == 1 ? 1 : 0;
因此,如果GetValue()== 1,则返回该值。否则,返回0。