2

在我的应用程序中,当我移动我的 handRigth(kinect SDK)时,画布会移动,我需要创建一个方法(C#,Wpf),它允许我存储 Y 的坐标(100 个位置的数组列表)。本方法内容:

alLastCoor_HandRight.Add(dYpuntero); //ArrayList, dYpuntero=Position
if (alLastCoor_HandRight.Count > 100)// Limit ArrayList 100 positions
alLastCoor_HandRight.RemoveAt(0);

每次进入方法,存储100个Y画布位置。我怎样才能做到这一点 ??

4

1 回答 1

0

首先,永远不要使用ArrayLists它们做同样的事情,Lists只是效率较低(参见ArrayList vs List<object>)。我这样做的方法是通过Boolean决定计数是大于 100 还是小于 100,如下所示:

    private bool HasLessThan100(List<double> list)
    {
        if (list.Count <= 100) return true;

        if (list.Count > 100) return false;

        return false;
    }

然后对于你的方法,这样称呼它:

    private void MoveCanvas(List<double> list, double dYpuntero)
    {
        if (HasLessThan100(list))
        {
            list.Add((double)dYpuntero);
        }

        else return;
    }
于 2012-06-20T13:43:09.133 回答