EnumerableExtensionsTryReplaceRangeT Method (IEnumerableT, Int32, Int32, IEnumerableT, Boolean, Boolean)

KGy SOFT Core Libraries Help
Tries to remove count amount of items from the target at the specified index, and to insert the specified collection at the same position. The number of elements in collection can be different from the amount of removed items.

Namespace:  KGySoft.CoreLibraries
Assembly:  KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 6.0.0

public static bool TryReplaceRange<T>(
	this IEnumerable<T> target,
	int index,
	int count,
	IEnumerable<T> collection,
	bool checkReadOnlyAndBounds = true,
	bool throwError = true


Type: System.Collections.GenericIEnumerableT
The target collection.
Type: SystemInt32
The zero-based index of the first item to remove and also the index at which collection items should be inserted.
Type: SystemInt32
The number of items to remove.
Type: System.Collections.GenericIEnumerableT
The collection to insert into the target list.
checkReadOnlyAndBounds (Optional)
Type: SystemBoolean
 to return  if the target collection is read-only or the index is invalid;  to attempt inserting the collection without checking the read-only state and bounds. This parameter is optional.
Default value: .
throwError (Optional)
Type: SystemBoolean
 to forward any exception thrown by the used modifier members;  to suppress the exceptions thrown by the used members and return  on failure. This parameter is optional.
Default value: .

Type Parameters

The type of the elements in the collections.

Return Value

Type: Boolean
, if the whole range could be removed and collection could be inserted into target; otherwise, .

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerableT. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

The replacement can be performed if the target collection is either an IListT or IList implementation.

If target is neither a ListT nor an ISupportsRangeCollectionT implementation, then the elements will only be replaced one by one.

See Also