Неправильное сообщение из-за цикла

У меня есть функция, которая удаляет пользователя из группы.

Сначала он проверяет, есть ли в группе какие-либо пользователи. Затем в цикле for он проходит через всех пользователей и проверяет, существует ли в группе текущий пользователь, который набирается.

Первый раз он работает. Он удаляет пользователя. Но во второй раз пользователь больше не существует, и он приходит к выражению else.

Как я могу закончить цикл for, когда пользователь удален?

Вот код:

for (int y = 0; y < cognosGroup.members.value.Length; y++)
{
    //check if member[y] is the one that need to be deleted
    if (cognosGroup.members.value[y].searchPath.value == member[0].searchPath.value)
    {
        int lenght = cognosGroup.members.value.Length - 1;

        baseClass[] newMembers = new baseClass[lenght];
        int index = 0;
        baseClass obj = null;
        // go trough group
        for (int i = 0; i <= lenght; i++)
        {
            if (i != y)
            {
                //create user
                obj = cognosGroup.members.value[i];
                newMembers[index] = obj;
                index++;
            }
            else
            {
                this._messageText = "*Succesfully removed " + this.RemoveUsername.ToLower() + " from " + this.DataViewModel.GroupModel.SelectedGroup;
                this.ExHandling = new ExceptionHandling(this._messageText);
                this.MessageText = this.ExHandling.ExHandlingOkey;
            }
        }
        cognosGroup.members = new baseClassArrayProp();
        cognosGroup.members.value = newMembers;
        this.LogonModel.CBICMS.update(new baseClass[] { cognosGroup }, new updateOptions());
        y--;
    }
    else
    {
        this._messageText = "*" + this.RemoveUsername.ToLower() + " is not a user from " + this.DataViewModel.GroupModel.SelectedGroup;
        this.ExHandling = new ExceptionHandling(this._messageText);
        this.MessageText = this.ExHandling.ExHandlingError;
    }
}

c#,for-loop,

0