/// <summary> /// Requires the range [offset, offset + count] to be a subset of [0, array.Count]. /// </summary> /// <exception cref="ArgumentNullException">String is <c>null</c>.</exception> /// <exception cref="ArgumentOutOfRangeException">Offset or count are out of range.</exception> public static void RequiresArrayRange(string str, int offset, int count, string offsetName, string countName) { Proclaim.NotEmpty(offsetName); Proclaim.NotEmpty(countName); Proclaim.NotNull(str); if (count < 0) { throw new ArgumentOutOfRangeException(countName); } if (offset < 0 || str.Length - offset < count) { throw new ArgumentOutOfRangeException(offsetName); } }
/// <summary> /// Requires the range [offset, offset + count] to be a subset of [0, array.Count]. /// </summary> /// <exception cref="ArgumentNullException">Array is <c>null</c>.</exception> /// <exception cref="ArgumentOutOfRangeException">Offset or count are out of range.</exception> public static void RequiresArrayRange <T>(IList <T> array, int offset, int count, string offsetName, string countName) { Proclaim.NotEmpty(offsetName); Proclaim.NotEmpty(countName); Proclaim.NotNull(array); if (count < 0) { throw new ArgumentOutOfRangeException(countName); } if (offset < 0 || array.Count - offset < count) { throw new ArgumentOutOfRangeException(offsetName); } }