EnumerableExtensionsTryReplaceRange(IEnumerable, Int32, Int32, IEnumerable, Boolean, Boolean) Method
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.CoreLibrariesAssembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 9.0.0-preview.1
public static bool TryReplaceRange(
this IEnumerable target,
int index,
int count,
IEnumerable collection,
bool checkReadOnlyAndBounds = true,
bool throwError = true
)
<ExtensionAttribute>
Public Shared Function TryReplaceRange (
target As IEnumerable,
index As Integer,
count As Integer,
collection As IEnumerable,
Optional checkReadOnlyAndBounds As Boolean = true,
Optional throwError As Boolean = true
) As Boolean
public:
[ExtensionAttribute]
static bool TryReplaceRange(
IEnumerable^ target,
int index,
int count,
IEnumerable^ collection,
bool checkReadOnlyAndBounds = true,
bool throwError = true
)
[<ExtensionAttribute>]
static member TryReplaceRange :
target : IEnumerable *
index : int *
count : int *
collection : IEnumerable *
?checkReadOnlyAndBounds : bool *
?throwError : bool
(* Defaults:
let _checkReadOnlyAndBounds = defaultArg checkReadOnlyAndBounds true
let _throwError = defaultArg throwError true
*)
-> bool
- target IEnumerable
- The target collection.
- index Int32
- The zero-based index of the first item to remove and also the index at which collection items should be inserted.
- count Int32
- The number of items to remove.
- collection IEnumerable
- The collection to insert into the target list.
- checkReadOnlyAndBounds Boolean (Optional)
- 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 Boolean (Optional)
- 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: .
Boolean, if the whole range could be removed and
collection could be inserted into
target; otherwise,
.In Visual Basic and C#, you can call this method as an instance method on any object of type
IEnumerable. 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.
Whenever possible, try to use the generic
TryReplaceRange<T> overload for better performance.
If not every element in collection is compatible with target, then it can happen that some elements
of collection have been added to target and the method returns .