Noob在这里提问,我想知道如何使用传递给方法的参数来访问对象。我试过这个,但是我得到了一个标识符预期错误。
private Boolean checkStates(string button)
{
if (lastState.Buttons.(button) = padState.Buttons.(button))
{
return true;
}
else{
return false;
}
}
这是我想要做的javascript等价物。
var object = {'property':'A'};
function getPropVal(prop){
return object[prop];
}
getPropVal(property);
//output: 'A'
答案 0 :(得分:1)
如果两个Buttons
都是标识符“按钮”的字典,那么就可以了:
if (lastState.Buttons[button] == padState.Buttons[button])
另请注意==
(假设您要进行比较,而不是分配,因为它是if
语句。)
如果是集合,您可以使用LINQ FirstOrDefault
:
var button1 = lastState.Buttons.FirstOrDefault(b => b.SomeProperty == button);
var button2 = lastState.Buttons.FirstOrDefault(b => b.SomeProperty == button);
if (button1 != null && button1 == button2)...
请注意,在两种情况下if
都会比较对象,如果要按特定属性检查相等性,请相应地更改条件。