2012-08-07 130 views
0

有人能告诉我这是什么C#语法确切指的是:Registry.GetValue():问题与return语句的语法

return (int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH) == 1 

它是正确的说,如果(INT)的GetValue()== 1回价值。我不确定什么时候返回(int)GetValue()!= 1.什么帮助非常感谢。

回答

0

一个简单的三元声明会为你工作:

return (int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH) == 1 ? 1 : 0; 

所以,如果的GetValue()== 1,返回值。否则,返回0.

1

这里有几个语法位。

MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH)(可能)是从注册表中读取值的静态方法调用。

(int)x是铸造表达式转换xint,所以(int)MyPersistenceClass.GetValue(REG_ENTRY_HHHH, DEFAULT_REG_ENTRY_HHHH)转换从注册表中读取到int的值。

==equality operator。它比较两件事情,并返回bool值:true如果它们相同,则返回false,如果它们不是。

return x评估x,使结果成为函数的返回值并退出函数。

把它放在一起,你的代码从注册表中读取一个值。该值将转换为int并与1进行比较。如果值为1,则函数返回true,否则返回false

+0

感谢arx。你最后一句话是我一直在寻找的,但感谢你的解释。它肯定会帮助别人。 – Dun 2012-08-17 13:43:47