Bueno, pues si la cedula siempre esta en la segunda posicion de tu arreglo lo puedes hacer con un solo for de la siguiente manera:
Código:
static public void agregar(string cedula)
{
for (int x = 0; x < clientes.Count; x++)
{
if(cedula == clientes[i,1])
{
clientes.RemoveAt(i);
}
}
}
Me parece q con esa instruccion es con la que eliminas por indice de un arreglo.
Sin enbargo, una observación, así lo puedes eliminar al momento de comparar, pero si eliminas uno, los indices ya no van a coincidir con el recorrido, yo te recomendaria hacer algo asi para guardar los indices de los repetidos en un arreglo temporar y despues eliminarlos de atras hacia adelante.
Código:
int [] temp;
static public void agregar(string cedula)
{
for (int x = 0; x < clientes.Count; x++)
{
if(cedula == clientes[x,1])
{
temp.Add(i);
}
}
for (int x = 0; x < temp.count; x++)
{
clientes.RemoveAt(temp[x]);
}
}
Espero te sirva.
Saludos