C#/unity 怎么给Vector2排序?

就是一系列的Vector2 我存在了一个List中,想让他们按照Y升序,但是Y相同的元素,按照X的升序排序,怎么写出来,小白求帮忙!!给点提示也好。。。很记恨关急

图片说明
public Vector2[] Vector2Sort(Vector2[] listVector2)
{
try
{
if (listVector2 != null && listVector2.Length != 0)
{
bool flag;
Vector2 temp;
for (int i = 0; i < listVector2.Length - 1; i++)
{
flag = false;
for (int j = 0; j < listVector2.Length - i - 1; j++)
{
if (listVector2[j].y > listVector2[j + 1].y)
{
temp = listVector2[j];
listVector2[j] = listVector2[j + 1];
listVector2[j + 1] = temp;
flag = true;
}
else if (listVector2[j].y == listVector2[j + 1].y)
{
if (listVector2[j].x > listVector2[j + 1].x)
{
temp = listVector2[j];
listVector2[j] = listVector2[j + 1];
listVector2[j + 1] = temp;
flag = true;
}
}
}
if (!flag)
{
break;
}
}

            for (int i = 0; i < listVector2.Length; i++)
            {
                Debug.Log(listVector2[i]);
            }
            return listVector2;
        }
        else
        {
            return null;
        }
    }
    catch (Exception ex)
    {
        return null;
    }
}

具体代码 可在我博客中查看