Assuming you have a Form with a Map control containing no layers setup to display on the form.....
This does not work(Clear()):
Layer l = new Layer(@"\My Documents\shps\Test.shp");
mapdisplay.Layers.Add(l);
mapdisplay.Layers.Clear();
Layer l2 = new Layer(@"\My Documents\shps\Test.shp");
mapdisplay.Layers.Add(l2);
This does not work(RemoveAt()):
Layer l = new Layer(@"\My Documents\shps\Test.shp");
mapdisplay.Layers.Add(l);
mapdisplay.Layers.RemoveAt(0);
Layer l2 = new Layer(@"\My Documents\shps\Test.shp");
mapdisplay.Layers.Add(l2);
This does work(Remove()):
Layer l = new Layer(@"\My Documents\shps\Test.shp");
mapdisplay.Layers.Add(l);
mapdisplay.Layers.Remove(mapdisplay.Layers[0]);
Layer l2 = new Layer(@"\My Documents\shps\Test.shp");
mapdisplay.Layers.Add(l2);
For the code that does not work, I get an Argument Exception: "Value does not fall within the expected range" .
I hope this is helpful.
Thanks again.