public override void SetRange(int index, ICollection c)
{
if (c == null)
{
throw new ArgumentNullException(nameof(c), SR.ArgumentNull_Collection);
}
Contract.EndContractBlock();
if (index < 0 || index > _list.Count - c.Count)
{
throw new ArgumentOutOfRangeException(nameof(index), SR.ArgumentOutOfRange_Index);
}
if (c.Count > 0)
{
IEnumerator en = c.GetEnumerator();
while (en.MoveNext())
{
_list[index++] = en.Current;
}
_version++;
}
}