| File: System\Collections\CollectionHelpers.cs | Web Access |
| Project: src\runtime\src\libraries\System.ObjectModel\src\System.ObjectModel.csproj (System.ObjectModel) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Generic; namespace System.Collections { internal static class CollectionHelpers { internal static void ValidateCopyToArguments(int sourceCount, Array array, int index) { ArgumentNullException.ThrowIfNull(array); if (array.Rank != 1) { throw new ArgumentException(SR.Arg_RankMultiDimNotSupported, nameof(array)); } if (array.GetLowerBound(0) != 0) { throw new ArgumentException(SR.Arg_NonZeroLowerBound, nameof(array)); } ArgumentOutOfRangeException.ThrowIfNegative(index); ArgumentOutOfRangeException.ThrowIfGreaterThan(index, array.Length); if (array.Length - index < sourceCount) { throw new ArgumentException(SR.Arg_ArrayPlusOffTooSmall); } } } }