如何从这个双数组方法返回一个bool?
public static double[] GetUIPosition(string name)
{
if (FastUICheck.FastUICheckVisible(name, 0) == true)
{
UIControl control = new UIControl(Engine.Current.Memory, Engine.Current.ObjectManager.x984_UI.x0000_Controls.x10_Map[name].Value.Address);
double[] point = new double[4];
point[0] = control.x4D8_UIRect.Left;
point[1] = control.x4D8_UIRect.Top;
point[2] = control.x4D8_UIRect.Right;
point[3] = control.x4D8_UIRect.Bottom;
return point;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
所以基本上我正在检查控件是否存在于内存中并且是可见的,如果是,那么我想得到它的矩形.所以,如果是的话,我返回一个带有4个点的数组,否则我想返回false.
是否有捷径可寻?
不,bool不能施展dobule[].
但是,您可以返回null并检查它作为"假"值.
你也可以采取TryParse的方法和返回bool,与double[]作为out参数.签名将是:
public static bool GetUIPosition(string name, out double[] position)
Run Code Online (Sandbox Code Playgroud)
您的代码返回null:
public static double[] GetUIPosition(string name)
{
if (FastUICheck.FastUICheckVisible(name, 0) == true)
{
UIControl control = new UIControl(Engine.Current.Memory, Engine.Current.ObjectManager.x984_UI.x0000_Controls.x10_Map[name].Value.Address);
double[] point = new double[4];
point[0] = control.x4D8_UIRect.Left;
point[1] = control.x4D8_UIRect.Top;
point[2] = control.x4D8_UIRect.Right;
point[3] = control.x4D8_UIRect.Bottom;
return point;
}
else
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
一个类似的问题和有用的答案: 如何从C#中的函数返回多个值?
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |