From 9350b9fb455ed3e6f7be29512f2ddeb53670371b Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Mon, 30 Mar 2026 16:02:27 -0700
Subject: [PATCH 1/4] System.T*
---
xml/System.Text.Encodings.Web/TextEncoder.xml | 18 +-
.../ReferenceHandler.xml | 4 +-
xml/System.Text.Json/JsonDocument.xml | 6 +-
.../JsonElement+ArrayEnumerator.xml | 2 +-
.../JsonElement+ObjectEnumerator.xml | 2 +-
.../JsonSerializerOptions.xml | 2 +-
xml/System.Text.Json/Utf8JsonReader.xml | 64 +--
xml/System.Text.Json/Utf8JsonWriter.xml | 2 +-
.../Capture.xml | 4 +-
.../CaptureCollection.xml | 30 +-
.../GroupCollection.xml | 30 +-
xml/System.Text.RegularExpressions/Match.xml | 22 +-
.../MatchCollection.xml | 44 +-
.../MatchEvaluator.xml | 4 +-
xml/System.Text.RegularExpressions/Regex.xml | 156 +++---
.../RegexCompilationInfo.xml | 26 +-
.../RegexMatchTimeoutException.xml | 14 +-
.../RegexOptions.xml | 14 +-
.../RegexRunnerFactory.xml | 10 +-
xml/System.Text.Unicode/UnicodeRange.xml | 16 +-
xml/System.Text/ASCIIEncoding.xml | 90 ++--
xml/System.Text/CodePagesEncodingProvider.xml | 22 +-
xml/System.Text/Decoder.xml | 56 +-
xml/System.Text/DecoderExceptionFallback.xml | 6 +-
.../DecoderExceptionFallbackBuffer.xml | 8 +-
xml/System.Text/DecoderFallback.xml | 10 +-
xml/System.Text/DecoderFallbackBuffer.xml | 16 +-
.../DecoderReplacementFallback.xml | 2 +-
.../DecoderReplacementFallbackBuffer.xml | 8 +-
xml/System.Text/Encoder.xml | 42 +-
xml/System.Text/EncoderExceptionFallback.xml | 6 +-
.../EncoderExceptionFallbackBuffer.xml | 10 +-
xml/System.Text/EncoderFallback.xml | 10 +-
xml/System.Text/EncoderFallbackBuffer.xml | 18 +-
.../EncoderReplacementFallback.xml | 2 +-
.../EncoderReplacementFallbackBuffer.xml | 10 +-
xml/System.Text/Encoding.xml | 504 +++++++++---------
xml/System.Text/EncodingInfo.xml | 18 +-
xml/System.Text/EncodingProvider.xml | 20 +-
xml/System.Text/Rune.xml | 26 +-
xml/System.Text/SpanRuneEnumerator.xml | 2 +-
.../StringBuilder+ChunkEnumerator.xml | 4 +-
xml/System.Text/StringBuilder.xml | 178 +++----
xml/System.Text/StringRuneEnumerator.xml | 2 +-
xml/System.Text/UTF32Encoding.xml | 110 ++--
xml/System.Text/UTF7Encoding.xml | 82 +--
xml/System.Text/UTF8Encoding.xml | 150 +++---
xml/System.Text/UnicodeEncoding.xml | 134 ++---
.../ChannelReader`1.xml | 6 +-
.../ActionBlock`1.xml | 18 +-
.../BatchBlock`1.xml | 168 +++---
.../BatchedJoinBlock`2.xml | 80 +--
.../BatchedJoinBlock`3.xml | 78 +--
.../BroadcastBlock`1.xml | 140 ++---
.../BufferBlock`1.xml | 136 ++---
.../DataflowBlock.xml | 6 +-
.../DataflowBlockOptions.xml | 50 +-
.../ExecutionDataflowBlockOptions.xml | 48 +-
.../GroupingDataflowBlockOptions.xml | 40 +-
.../IDataflowBlock.xml | 40 +-
.../ISourceBlock`1.xml | 52 +-
.../JoinBlock`2.xml | 86 +--
.../JoinBlock`3.xml | 94 ++--
.../TransformBlock`2.xml | 162 +++---
.../TransformManyBlock`2.xml | 166 +++---
.../WriteOnceBlock`1.xml | 136 ++---
.../ValueTaskSourceOnCompletedFlags.xml | 4 +-
.../ConcurrentExclusiveSchedulerPair.xml | 4 +-
xml/System.Threading.Tasks/Parallel.xml | 70 +--
.../ParallelLoopResult.xml | 20 +-
.../ParallelLoopState.xml | 52 +-
.../ParallelOptions.xml | 8 +-
xml/System.Threading.Tasks/Task.xml | 206 +++----
.../TaskCanceledException.xml | 12 +-
.../TaskCompletionSource`1.xml | 26 +-
.../TaskCreationOptions.xml | 10 +-
xml/System.Threading.Tasks/TaskExtensions.xml | 34 +-
xml/System.Threading.Tasks/TaskFactory.xml | 160 +++---
xml/System.Threading.Tasks/TaskFactory`1.xml | 48 +-
xml/System.Threading.Tasks/TaskScheduler.xml | 10 +-
.../TaskSchedulerException.xml | 12 +-
xml/System.Threading.Tasks/Task`1.xml | 86 +--
.../UnobservedTaskExceptionEventArgs.xml | 2 +-
xml/System.Threading.Tasks/ValueTask.xml | 26 +-
xml/System.Threading.Tasks/ValueTask`1.xml | 32 +-
.../AbandonedMutexException.xml | 60 +--
xml/System.Threading/AsyncFlowControl.xml | 64 +--
.../AsyncLocalValueChangedArgs`1.xml | 4 +-
xml/System.Threading/AsyncLocal`1.xml | 6 +-
xml/System.Threading/AutoResetEvent.xml | 16 +-
xml/System.Threading/Barrier.xml | 152 +++---
.../BarrierPostPhaseException.xml | 12 +-
xml/System.Threading/CancellationToken.xml | 16 +-
.../CancellationTokenSource.xml | 28 +-
xml/System.Threading/CompressedStack.xml | 88 +--
xml/System.Threading/ContextCallback.xml | 14 +-
xml/System.Threading/CountdownEvent.xml | 6 +-
xml/System.Threading/EventResetMode.xml | 4 +-
xml/System.Threading/EventWaitHandle.xml | 46 +-
xml/System.Threading/ExecutionContext.xml | 14 +-
xml/System.Threading/HostExecutionContext.xml | 2 +-
.../HostExecutionContextManager.xml | 8 +-
xml/System.Threading/Interlocked.xml | 50 +-
xml/System.Threading/LazyThreadSafetyMode.xml | 6 +-
xml/System.Threading/Lock+Scope.xml | 6 +-
xml/System.Threading/Lock.xml | 8 +-
xml/System.Threading/LockCookie.xml | 6 +-
.../LockRecursionException.xml | 12 +-
xml/System.Threading/ManualResetEvent.xml | 14 +-
xml/System.Threading/ManualResetEventSlim.xml | 108 ++--
xml/System.Threading/Monitor.xml | 88 +--
xml/System.Threading/Mutex.xml | 116 ++--
xml/System.Threading/Overlapped.xml | 30 +-
.../ParameterizedThreadStart.xml | 12 +-
xml/System.Threading/PeriodicTimer.xml | 36 +-
.../PreAllocatedOverlapped.xml | 16 +-
xml/System.Threading/ReaderWriterLock.xml | 68 +--
xml/System.Threading/ReaderWriterLockSlim.xml | 56 +-
xml/System.Threading/RegisteredWaitHandle.xml | 22 +-
xml/System.Threading/Semaphore.xml | 108 ++--
.../SemaphoreFullException.xml | 14 +-
xml/System.Threading/SemaphoreSlim.xml | 26 +-
xml/System.Threading/SpinLock.xml | 18 +-
xml/System.Threading/SpinWait.xml | 68 +--
.../SynchronizationContext.xml | 8 +-
.../SynchronizationLockException.xml | 16 +-
xml/System.Threading/Thread.xml | 184 +++----
xml/System.Threading/ThreadAbortException.xml | 10 +-
.../ThreadInterruptedException.xml | 16 +-
xml/System.Threading/ThreadLocal`1.xml | 24 +-
xml/System.Threading/ThreadPool.xml | 126 ++---
.../ThreadPoolBoundHandle.xml | 72 +--
xml/System.Threading/ThreadStart.xml | 4 +-
xml/System.Threading/ThreadState.xml | 24 +-
xml/System.Threading/ThreadStateException.xml | 16 +-
xml/System.Threading/Timeout.xml | 8 +-
xml/System.Threading/Timer.xml | 60 +--
xml/System.Threading/TimerCallback.xml | 6 +-
xml/System.Threading/Volatile.xml | 8 +-
xml/System.Threading/WaitCallback.xml | 28 +-
xml/System.Threading/WaitHandle.xml | 90 ++--
.../WaitHandleCannotBeOpenedException.xml | 10 +-
xml/System.Threading/WaitHandleExtensions.xml | 4 +-
xml/System.Threading/WaitOrTimerCallback.xml | 16 +-
xml/System.Timers/ElapsedEventArgs.xml | 2 +-
xml/System.Timers/Timer.xml | 84 +--
.../DefaultSettingsSection.xml | 74 +--
.../CommittableTransaction.xml | 12 +-
.../DependentCloneOption.xml | 24 +-
.../DependentTransaction.xml | 54 +-
xml/System.Transactions/Enlistment.xml | 14 +-
xml/System.Transactions/EnlistmentOptions.xml | 22 +-
.../HostCurrentTransactionCallback.xml | 10 +-
.../IEnlistmentNotification.xml | 32 +-
.../IPromotableSinglePhaseNotification.xml | 8 +-
.../ISinglePhaseNotification.xml | 44 +-
.../ITransactionPromoter.xml | 20 +-
.../PreparingEnlistment.xml | 12 +-
.../SinglePhaseEnlistment.xml | 50 +-
xml/System.Transactions/Transaction.xml | 16 +-
.../TransactionAbortedException.xml | 14 +-
.../TransactionInterop.xml | 16 +-
.../TransactionManager.xml | 10 +-
.../TransactionOptions.xml | 24 +-
.../TransactionPromotionException.xml | 10 +-
xml/System.Transactions/TransactionScope.xml | 14 +-
.../TransactionScopeAsyncFlowOption.xml | 10 +-
167 files changed, 3539 insertions(+), 3539 deletions(-)
diff --git a/xml/System.Text.Encodings.Web/TextEncoder.xml b/xml/System.Text.Encodings.Web/TextEncoder.xml
index e9c03077b07..8cf4984f278 100644
--- a/xml/System.Text.Encodings.Web/TextEncoder.xml
+++ b/xml/System.Text.Encodings.Web/TextEncoder.xml
@@ -29,12 +29,12 @@
The base class of web encoders.
- , , and properties.
+## Remarks
+ TextEncoder subclasses can be used to do HTML encoding, URI encoding, and JavaScript encoding. Instances of such subclasses can be accessed using the , , and properties.
- The source code for this type is available in the [System.Text.Encodings.Web project](https://github.com/dotnet/runtime/tree/main/src/libraries/System.Text.Encodings.Web) on GitHub. Unit tests that can also serve as code examples are found in the [System.Text.Encodings.Web/tests](https://github.com/dotnet/runtime/tree/main/src/libraries/System.Text.Encodings.Web/tests) folder on GitHub.
+ The source code for this type is available in the [System.Text.Encodings.Web project](https://github.com/dotnet/runtime/tree/main/src/libraries/System.Text.Encodings.Web) on GitHub. Unit tests that can also serve as code examples are found in the [System.Text.Encodings.Web/tests](https://github.com/dotnet/runtime/tree/main/src/libraries/System.Text.Encodings.Web/tests) folder on GitHub.
]]>
@@ -380,9 +380,9 @@ The `utf8Source` and `utf8Destination` buffers must not overlap.
Finds the index of the first character to encode.
The index of the first character to encode.
-
@@ -513,10 +513,10 @@ The `utf8Source` and `utf8Destination` buffers must not overlap.
if is too small to fit the encoded text; otherwise, returns .
- overloads should be used instead. Implementations of the class must be thread-safe and stateless.
+## Remarks
+ This method is seldom called directly. One of the overloads should be used instead. Implementations of the class must be thread-safe and stateless.
]]>
diff --git a/xml/System.Text.Json.Serialization/ReferenceHandler.xml b/xml/System.Text.Json.Serialization/ReferenceHandler.xml
index 33ff49b985d..c95994a2463 100644
--- a/xml/System.Text.Json.Serialization/ReferenceHandler.xml
+++ b/xml/System.Text.Json.Serialization/ReferenceHandler.xml
@@ -152,14 +152,14 @@
* For JSON objects that don't contain any metadata properties, the deserialization behavior is identical to not using `Preserve`.
* For value types, the `$id` metadata property is ignored. A is thrown if a `$ref` metadata property is found within the JSON object.
* For enumerable value types, the `$values` metadata property is ignored.
-
+
* For the metadata properties within the JSON to be considered well-formed, they must follow these rules:
* Unless is set to `true`, the `$id` metadata property must be the first property in the JSON object.
* A JSON object that contains a `$ref` metadata property must not contain any other properties.
* The value of the `$ref` metadata property must refer to an `$id` that has appeared earlier in the JSON.
* The value of the `$id` and `$ref` metadata properties must be a JSON string.
- * For enumerable types, such as , the JSON array must be nested within a JSON object containing an `$id` and `$values` metadata property, in that order. (However, the order is not important if is set to `true`.)
+ * For enumerable types, such as , the JSON array must be nested within a JSON object containing an `$id` and `$values` metadata property, in that order. (However, the order is not important if is set to `true`.)
* For enumerable types, the `$values` metadata property must be a JSON array.
* The `$values` metadata property is only valid when referring to enumerable types.
diff --git a/xml/System.Text.Json/JsonDocument.xml b/xml/System.Text.Json/JsonDocument.xml
index db8235911f9..fc324661842 100644
--- a/xml/System.Text.Json/JsonDocument.xml
+++ b/xml/System.Text.Json/JsonDocument.xml
@@ -115,7 +115,7 @@ For more information, see [How to use the JSON DOM, Utf8JsonReader, and Utf8Json
## Remarks
-The may be used for the entire lifetime of the JsonDocument object, and the caller must ensure that the data therein does not change during the object lifetime.
+The may be used for the entire lifetime of the JsonDocument object, and the caller must ensure that the data therein does not change during the object lifetime.
Because the input is considered to be text, a UTF-8 Byte-Order-Mark (BOM) must not be present.
]]>
@@ -204,7 +204,7 @@ Because the input is considered to be text, a UTF-8 Byte-Order-Mark (BOM) must n
value will be used for the entire lifetime of the JsonDocument object, and the caller must ensure that the data therein does not change during the object lifetime.
+The value will be used for the entire lifetime of the JsonDocument object, and the caller must ensure that the data therein does not change during the object lifetime.
Because the input is considered to be text, a UTF-8 Byte-Order-Mark (BOM) must not be present.
]]>
@@ -264,7 +264,7 @@ Because the input is considered to be text, a UTF-8 Byte-Order-Mark (BOM) must n
## Remarks
-The value may be used for the entire lifetime of the JsonDocument object, and the caller must ensure that the data therein does not change during the object lifetime.
+The value may be used for the entire lifetime of the JsonDocument object, and the caller must ensure that the data therein does not change during the object lifetime.
]]>
diff --git a/xml/System.Text.Json/JsonElement+ArrayEnumerator.xml b/xml/System.Text.Json/JsonElement+ArrayEnumerator.xml
index 0eedd9e801b..9dd7711b1d6 100644
--- a/xml/System.Text.Json/JsonElement+ArrayEnumerator.xml
+++ b/xml/System.Text.Json/JsonElement+ArrayEnumerator.xml
@@ -250,7 +250,7 @@
## Remarks
-This member is an explicit interface member implementation. It can be used only when the instance is cast to an [IEnumerable\]( instance is cast to an [IEnumerable\](
diff --git a/xml/System.Text.Json/JsonElement+ObjectEnumerator.xml b/xml/System.Text.Json/JsonElement+ObjectEnumerator.xml
index 8f3b3d17f0c..14077bbd188 100644
--- a/xml/System.Text.Json/JsonElement+ObjectEnumerator.xml
+++ b/xml/System.Text.Json/JsonElement+ObjectEnumerator.xml
@@ -256,7 +256,7 @@ The enumerator will enumerate the properties in the order they are declared, and
instance is cast to an [IEnumerator\](xref:System.Collections.Generic.IEnumerator%601) interface.
+This member is an explicit interface member implementation. It can be used only when the instance is cast to an [IEnumerator\](xref:System.Collections.Generic.IEnumerator`1) interface.
]]>
diff --git a/xml/System.Text.Json/JsonSerializerOptions.xml b/xml/System.Text.Json/JsonSerializerOptions.xml
index eb44068fb8f..3497339c510 100644
--- a/xml/System.Text.Json/JsonSerializerOptions.xml
+++ b/xml/System.Text.Json/JsonSerializerOptions.xml
@@ -634,7 +634,7 @@ For more information, see [How to write custom converters for JSON serialization
## Remarks
-Returned metadata can be downcast to and used with the relevant overloads.
+Returned metadata can be downcast to and used with the relevant overloads.
If the instance is locked for modification, the method returns a cached instance for the metadata.
diff --git a/xml/System.Text.Json/Utf8JsonReader.xml b/xml/System.Text.Json/Utf8JsonReader.xml
index 6294771de3f..754b3109a95 100644
--- a/xml/System.Text.Json/Utf8JsonReader.xml
+++ b/xml/System.Text.Json/Utf8JsonReader.xml
@@ -93,7 +93,7 @@ For more information, see [Use Utf8JsonReader](/dotnet/standard/serialization/sy
Since this type is a ref struct, it is a stack-only type, and all the limitations of ref structs apply to it.
This constructor assumes that the entire JSON payload is contained in `jsonData`; it is equivalent to = `true`.
-
+
]]>
@@ -133,7 +133,7 @@ This constructor assumes that the entire JSON payload is contained in `jsonData`
Since this type is a ref struct, it is a stack-only type, and all the limitations of ref structs apply to it.
This constructor assumes that the entire JSON payload is contained in `jsonData`; it is equivalent to = `true`.
-
+
]]>
@@ -297,7 +297,7 @@ This is the reason why the constructor accepts a , this method does not support .
-
+
This method will throw an if the destination buffer is too small to hold the unescaped value. You can determine an appropriately sized buffer by consulting the length of either or , since the unescaped result is always less than or equal to the length of the encoded strings.
]]>
@@ -349,7 +349,7 @@ The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates., this method does not support .
-
+
This method will throw an if the destination buffer is too small to hold the unescaped value. You can determine an appropriately sized buffer by consulting the length of either or , since the unescaped result is always less than or equal to the length of the encoded strings.
]]>
@@ -512,7 +512,7 @@ Unlike the , which is a ref struct, the st
To be added.
The value of the JSON token is not a .
The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
-
+
-or-
The JSON token value represents a number less than Byte.MinValue or greater than Byte.MaxValue.
@@ -630,9 +630,9 @@ This method only creates a representation of JSON strings
The value of the JSON token isn't a .
The JSON token value cannot be read as a .
-
+
-or-
-
+
The entire UTF-8 encoded token value cannot be parsed to a value.
-or-
@@ -681,7 +681,7 @@ This method only creates a representation of JSON s
The JSON token value cannot be read as a .
-or-
-
+
The entire UTF-8 encoded token value cannot be parsed to a value.
-or-
@@ -786,7 +786,7 @@ The JSON token value is of an unsupported format.
To be added.
The value of the JSON token isn't a .
The JSON token value is in an unsupported format for a Guid.
-
+
-or-
The entire UTF-8 encoded token value cannot be parsed to a value.
@@ -823,7 +823,7 @@ The entire UTF-8 encoded token value cannot be parsed to a The value of the JSON token is not a .
The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
-
+
-or-
The JSON token value represents a number less than Int16.MinValue or greater than Int16.MaxValue.
@@ -860,7 +860,7 @@ The JSON token value represents a number less than The JSON token value isn't a .
The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
-
+
-or-
The JSON token value represents a number less than Int32.MinValue or greater than Int32.MaxValue.
@@ -897,7 +897,7 @@ The JSON token value represents a number less than The JSON token value isn't a .
The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
-
+
-or-
The JSON token value represents a number less than Int64.MinValue or greater than Int64.MaxValue.
@@ -940,7 +940,7 @@ The JSON token value represents a number less than The value of the JSON token is not a .
The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
-
+
-or-
The JSON token value represents a number less than SByte.MinValue or greater than SByte.MaxValue.
@@ -1015,7 +1015,7 @@ The JSON token value represents a number less than The value of the JSON token is not a .
The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
-
+
-or-
The JSON token value represents a number less than UInt16.MinValue or greater than UInt16.MaxValue.
@@ -1149,7 +1149,7 @@ The JSON token value represents a number less than The JSON token value isn't a .
The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
-
+
-or-
The JSON token value represents a number less than UInt64.MinValue or greater than UInt64.MaxValue.
@@ -1303,7 +1303,7 @@ For input data within a `ReadOnlySpan`, this always returns `false`. For i
if the token was read successfully; otherwise, .
To be added.
An invalid JSON token according to the JSON RFC is encountered.
-
+
-or-
The current depth exceeds the recursive limit set by the maximum depth.
@@ -1343,7 +1343,7 @@ The current depth exceeds the recursive limit set by the maximum depth. is , the reader first moves to the property value.
When (originally, or after advancing) is or , the reader advances to the matching or .
-
+
For all other token types, the reader does not move. After the next call to , the reader will be at the next value (when in an array), the next property name (when in an object), or the end array/object token.
]]>
@@ -1712,7 +1712,7 @@ This method only creates a representation of JSON s
## Remarks
-This method only parses values with hyphens and without any surrounding decorations.
+This method only parses values with hyphens and without any surrounding decorations.
]]>
@@ -2066,17 +2066,17 @@ This method only parses values with hyphens and without any s
## Remarks
If the reader did not have enough data to completely skip the children of the current token, it will be reset to the state it was in before the method was called.
-
+
When is , the reader first moves to the property value.
When (originally, or after advancing) is or , the reader advances to the matching or .
-
+
For all other token types, the reader does not move. After the next call to , the reader will be at the next value (when in an array), the next property name (when in an object), or the end array/object token.
]]>
An invalid JSON token was encountered while skipping, according to the JSON RFC.
-
+
-or -
The current depth exceeds the recursive limit set by the maximum depth.
@@ -2152,14 +2152,14 @@ The current depth exceeds the recursive limit set by the maximum depth. contains the sliced value since it can be represented as a span. Otherwise, `ValueSequence` contains the token value.
-If is `false`, `ValueSequence` is empty.
+If is `false`, `ValueSequence` is empty.
Therefore, only access `ValueSequence` if is `true`.
Otherwise, the token value must be accessed from .
There is no guarantee that this property will always contain well-formed data. If the input JSON passed in to the `Utf8JsonReader` contains invalid UTF-8 bytes within JSON string tokens, this property will return back those invalid UTF-8 bytes as is.
Therefore, if the input is untrusted or not previously validated, call to get the JSON string token.
-Since this property returns the raw bytes, avoid using it for text comparison. Instead call , which unescapes the text if necessary.
+Since this property returns the raw bytes, avoid using it for text comparison. Instead call , which unescapes the text if necessary.
]]>
@@ -2204,14 +2204,14 @@ Since this property returns the raw bytes, avoid using it for text comparison. I
If the JSON is provided within a ReadOnlySequence<byte> and the slice that represents the token value fits in a single segment, then `ValueSpan` contains the sliced value since it can be represented as a span. Otherwise, contains the token value.
-If is `true`, `ValueSpan` is empty.
+If is `true`, `ValueSpan` is empty.
Therefore, only access `ValueSpan` if is `false`.
Otherwise, the token value must be accessed from .
There is no guarantee that this property will always contain well-formed data. If the input JSON passed in to the `Utf8JsonReader` contains invalid UTF-8 bytes within JSON string tokens, this property will return back those invalid UTF-8 bytes as is.
Therefore, if the input is untrusted or not previously validated, call to get the JSON string token.
-Since this property returns the raw bytes, avoid using it for text comparison. Instead call which unescapes the text if necessary.
+Since this property returns the raw bytes, avoid using it for text comparison. Instead call which unescapes the text if necessary.
]]>
@@ -2261,9 +2261,9 @@ Since this property returns the raw bytes, avoid using it for text comparison. I
## Remarks
The lookup text must be valid UTF-8 text. Otherwise, this method could return `true` if the source has a string token containing invalid UTF-8 text that matches.
-
+
The comparison of the JSON token value in the source and the lookup text is done by first unescaping the JSON value in source, if required. The lookup text is matched as is, without any modifications to it.
-
+
]]>
The JSON token is not a JSON string (that is, it is not or ).
@@ -2313,9 +2313,9 @@ The comparison of the JSON token value in the source and the lookup text is done
## Remarks
If the lookup text is invalid or incomplete UTF-16 text (that is, unpaired surrogates), the method returns `false` since you can't have invalid UTF-16 within the JSON payload.
-
+
The comparison of the JSON token value in the source and the lookup text is done by first unescaping the JSON value in source, if required. The lookup text is matched as is, without any modifications to it.
-
+
]]>
The JSON token is not a JSON string (that is, it is not or ).
@@ -2366,9 +2366,9 @@ The comparison of the JSON token value in the source and the lookup text is done
## Remarks
If the lookup text is invalid or incomplete UTF-16 text (that is, unpaired surrogates), the method returns `false` since you can't have invalid UTF-16 within the JSON payload.
-
+
The comparison of the JSON token value in the source and the lookup text is done by first unescaping the JSON value in source, if required. The lookup text is matched as is, without any modifications to it.
-
+
]]>
The JSON token is not a JSON string (that is, it is not or ).
diff --git a/xml/System.Text.Json/Utf8JsonWriter.xml b/xml/System.Text.Json/Utf8JsonWriter.xml
index 74246c15cb6..c42cd0d20cd 100644
--- a/xml/System.Text.Json/Utf8JsonWriter.xml
+++ b/xml/System.Text.Json/Utf8JsonWriter.xml
@@ -151,7 +151,7 @@ For more information, see [How to write custom serializers and deserializers wit
## Remarks
-In the case of an , this property indicates how much the IBufferWriter has advanced.
+In the case of an , this property indicates how much the IBufferWriter has advanced.
In the case of a , this property indicates how much data has been written to the stream.
diff --git a/xml/System.Text.RegularExpressions/Capture.xml b/xml/System.Text.RegularExpressions/Capture.xml
index 5449f728c30..49452291293 100644
--- a/xml/System.Text.RegularExpressions/Capture.xml
+++ b/xml/System.Text.RegularExpressions/Capture.xml
@@ -61,7 +61,7 @@
object is immutable and has no public constructor. Instances are returned through the object, which is returned by the `Match.Captures` and properties. However, the `Match.Captures` property provides information about the same match as the object.
+ A object is immutable and has no public constructor. Instances are returned through the object, which is returned by the `Match.Captures` and properties. However, the `Match.Captures` property provides information about the same match as the object.
If you do not apply a quantifier to a capturing group, the property returns a with a single object that provides information about the same capture as the object. If you do apply a quantifier to a capturing group, the `Group.Index`, `Group.Length`, and `Group.Value` properties provide information only about the last captured group, whereas the objects in the provide information about all subexpression captures. The example provides an illustration.
@@ -306,7 +306,7 @@
or method fails to find a match, the value of the returned `Match.Value` property is . If the regular expression engine is unable to match a capturing group. the value of the returned `Group.Value` property is . See the second example for an illustration.
+ If a call to the or method fails to find a match, the value of the returned `Match.Value` property is . If the regular expression engine is unable to match a capturing group. the value of the returned `Group.Value` property is . See the second example for an illustration.
diff --git a/xml/System.Text.RegularExpressions/CaptureCollection.xml b/xml/System.Text.RegularExpressions/CaptureCollection.xml
index 296b3bb2b27..1a893182f5b 100644
--- a/xml/System.Text.RegularExpressions/CaptureCollection.xml
+++ b/xml/System.Text.RegularExpressions/CaptureCollection.xml
@@ -113,16 +113,16 @@
- The `Match.Captures` property. In this case, the collection consists of a single object that provides information about the match as a whole. That is, the object provides the same information as the object.
- To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) instead of retrieving the enumerator that is returned by the method.
+ To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) instead of retrieving the enumerator that is returned by the method.
## Examples
- The following example compares the objects in the object returned by the and `Match.Captures` properties. It also compares objects with the objects in the returned by the property. The example uses the following two regular expressions to find matches in a single input string:
+ The following example compares the objects in the object returned by the and `Match.Captures` properties. It also compares objects with the objects in the returned by the property. The example uses the following two regular expressions to find matches in a single input string:
- `\b\w+\W{1,2}`
- This regular expression pattern identifies a word that consists of one or more word characters, followed by either one or two non-word characters such as white space or punctuation. The regular expression does not include any capturing groups. The output from the example shows that both the object and the objects returned by the and `Match.Captures` properties contain information about the same match.
+ This regular expression pattern identifies a word that consists of one or more word characters, followed by either one or two non-word characters such as white space or punctuation. The regular expression does not include any capturing groups. The output from the example shows that both the object and the objects returned by the and `Match.Captures` properties contain information about the same match.
- `(\b\w+\W{1,2})+`
@@ -191,7 +191,7 @@
Because the entire collection is copied into the array starting at the given index, the destination array must be at least as large as the collection.
> [!WARNING]
-> This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the method instead.
+> This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the method instead.
]]>
@@ -363,7 +363,7 @@
method to retrieve an enumerator that lets you iterate through the objects in the collection, you should use the group iteration construct (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) that is provided by your programming language.
+ Instead of calling the method to retrieve an enumerator that lets you iterate through the objects in the collection, you should use the group iteration construct (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) that is provided by your programming language.
]]>
@@ -418,7 +418,7 @@
## Remarks
-A collection that is read-only does not allow the addition or removal of elements after the collection is created. Note that read-only in this context does not indicate whether individual elements of the collection can be modified, since the interface only supports addition and removal operations. For example, the property of an array that is cast or converted to an object returns `true`, even though individual array elements can be modified.
+A collection that is read-only does not allow the addition or removal of elements after the collection is created. Note that read-only in this context does not indicate whether individual elements of the collection can be modified, since the interface only supports addition and removal operations. For example, the property of an array that is cast or converted to an object returns `true`, even though individual array elements can be modified.
]]>
@@ -821,10 +821,10 @@ A collection that is read-only does not allow the addition or removal of element
## Remarks
-The returned provides the ability to iterate through the collection by exposing a property .You can use enumerators to read the data in a collection, but not to modify the collection.
- Initially, the enumerator is positioned before the first element in the collection. At this position, is undefined. Therefore, you must call the method to advance the enumerator to the first element of the collection before reading the value of .
- returns the same object until is called again as sets to the next element.
- If passes the end of the collection, the enumerator is positioned after the last element in the collection and returns `false`. When the enumerator is at this position, subsequent calls to also return `false`. If the last call to returned `false`, is undefined. You cannot set to the first element of the collection again; you must create a new enumerator instance instead. If changes are made to the collection, such as adding, modifying, or deleting elements, the behavior of the enumerator is undefined.
+The returned provides the ability to iterate through the collection by exposing a property .You can use enumerators to read the data in a collection, but not to modify the collection.
+ Initially, the enumerator is positioned before the first element in the collection. At this position, is undefined. Therefore, you must call the method to advance the enumerator to the first element of the collection before reading the value of .
+ returns the same object until is called again as sets to the next element.
+ If passes the end of the collection, the enumerator is positioned after the last element in the collection and returns `false`. When the enumerator is at this position, subsequent calls to also return `false`. If the last call to returned `false`, is undefined. You cannot set to the first element of the collection again; you must create a new enumerator instance instead. If changes are made to the collection, such as adding, modifying, or deleting elements, the behavior of the enumerator is undefined.
An enumerator does not have exclusive access to the collection so an enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying, or deleting elements, the enumerator is invalidated and you may get unexpected results. Also, enumerating a collection is not a thread-safe procedure. To guarantee thread-safety, you should lock the collection during enumerator or implement synchronization on the collection.
Default implementations of collections in the namespace aren't synchronized.
@@ -878,7 +878,7 @@ The returned provides the abil
## Remarks
-If an object occurs multiple times in the list, the method always returns the first instance found.
+If an object occurs multiple times in the list, the method always returns the first instance found.
]]>
@@ -977,7 +977,7 @@ If an object occurs multiple times in the list, the property. Visual Basic implements as a [default](/dotnet/visual-basic/language-reference/modifiers/default) property, which provides the same indexing functionality.
+ The C# language uses the [this](/dotnet/csharp/language-reference/keywords/this) keyword to define the indexers instead of implementing the property. Visual Basic implements as a [default](/dotnet/visual-basic/language-reference/modifiers/default) property, which provides the same indexing functionality.
]]>
@@ -1293,7 +1293,7 @@ This member is an explicit interface member implementation. It can be used only
## Remarks
-This method uses the collection's objects' and methods on `value` to determine whether `value` exists.
+This method uses the collection's objects' and methods on `value` to determine whether `value` exists.
]]>
@@ -1345,7 +1345,7 @@ This method uses the collection's objects' and and methods on `value` to determine whether `value` exists.
+This method uses the collection's objects' and methods on `value` to determine whether `value` exists.
]]>
@@ -1504,7 +1504,7 @@ This member is an explicit interface member implementation. It can be used only
## Remarks
This property provides the ability to access a specific element in the collection by using the following syntax: `myCollection[index]`.
- The C# language uses the [this](/dotnet/csharp/language-reference/keywords/this) keyword to define the indexers instead of implementing the property. Visual Basic implements as a default property, which provides the same indexing functionality.
+ The C# language uses the [this](/dotnet/csharp/language-reference/keywords/this) keyword to define the indexers instead of implementing the property. Visual Basic implements as a default property, which provides the same indexing functionality.
]]>
diff --git a/xml/System.Text.RegularExpressions/GroupCollection.xml b/xml/System.Text.RegularExpressions/GroupCollection.xml
index deb4873af27..e3f55b27bcd 100644
--- a/xml/System.Text.RegularExpressions/GroupCollection.xml
+++ b/xml/System.Text.RegularExpressions/GroupCollection.xml
@@ -129,7 +129,7 @@
The collection contains one or more objects. If the match is successful, the first element in the collection contains the object that corresponds to the entire match. Each subsequent element represents a captured group, if the regular expression includes capturing groups. Matches from numbered (unnamed) capturing groups appear in numeric order before matches from named capturing groups. If the match is unsuccessful, the collection contains a single object whose property is `false` and whose property equals . For more information, see the "Grouping Constructs and Regular Expression Objects" section in the [Grouping Constructs](/dotnet/standard/base-types/grouping-constructs-in-regular-expressions) article.
- To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) instead of retrieving the enumerator that is returned by the method. In addition, you can access individual numbered captured groups from the property (the indexer in C#), and you can access individual named captured groups from the property. Note that you can retrieve an array that contains the numbers and names of all capturing groups by calling the and methods, respectively. Both are instance methods and require that you instantiate a object that represents the regular expression to be matched.
+ To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) instead of retrieving the enumerator that is returned by the method. In addition, you can access individual numbered captured groups from the property (the indexer in C#), and you can access individual named captured groups from the property. Note that you can retrieve an array that contains the numbers and names of all capturing groups by calling the and methods, respectively. Both are instance methods and require that you instantiate a object that represents the regular expression to be matched.
@@ -249,12 +249,12 @@
Because the entire collection is copied into the array starting at the given index, the destination array must be at least as large as the collection.
> [!WARNING]
-> This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the method instead.
+> This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the method instead.
## Examples
- The following example extracts each word from a sentence and captures it in a capturing group, The method is then used to copy the elements in each match's object to an array that contains the capturing groups from all matches. The individual captured words are then displayed to the console.
+ The following example extracts each word from a sentence and captures it in a capturing group, The method is then used to copy the elements in each match's object to an array that contains the capturing groups from all matches. The individual captured words are then displayed to the console.
:::code language="csharp" source="~/snippets/csharp/System.Text.RegularExpressions/GroupCollection/CopyTo/copyto1.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Text.RegularExpressions/GroupCollection/CopyTo/copyto1.vb" id="Snippet1":::
@@ -442,7 +442,7 @@
method to retrieve an enumerator that lets you iterate through the objects in the collection, you should use the group iteration construct (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) that is provided by your programming language.
+ Instead of calling the method to retrieve an enumerator that lets you iterate through the objects in the collection, you should use the group iteration construct (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) that is provided by your programming language.
]]>
@@ -497,7 +497,7 @@
## Remarks
-A collection that is read-only does not allow the addition or removal of elements after the collection is created. Note that read-only in this context does not indicate whether individual elements of the collection can be modified, since the interface only supports addition and removal operations. For example, the property of an array that is cast or converted to an object returns `true`, even though individual array elements can be modified.
+A collection that is read-only does not allow the addition or removal of elements after the collection is created. Note that read-only in this context does not indicate whether individual elements of the collection can be modified, since the interface only supports addition and removal operations. For example, the property of an array that is cast or converted to an object returns `true`, even though individual array elements can be modified.
]]>
@@ -632,9 +632,9 @@ A collection that is read-only does not allow the addition or removal of element
property is the index (in C#) or the default property (in Visual Basic) of the class. It allows you to enumerate the members of the collection by using a `foreach` statement in C# or a `For Each` statement in Visual Basic.
+ The property is the index (in C#) or the default property (in Visual Basic) of the class. It allows you to enumerate the members of the collection by using a `foreach` statement in C# or a `For Each` statement in Visual Basic.
- You can also use this property to retrieve individual captured groups by their index number. You can retrieve an array that contains the numbers of all capturing groups in a regular expression by calling the instance method. You can also map named capturing groups to their numbers by calling the instance method.
+ You can also use this property to retrieve individual captured groups by their index number. You can retrieve an array that contains the numbers of all capturing groups in a regular expression by calling the instance method. You can also map named capturing groups to their numbers by calling the instance method.
You can determine the number of items in the collection by retrieving the value of the property. Valid values for the `groupnum` parameter range from 0 to one less than the number of items in the collection.
@@ -645,7 +645,7 @@ A collection that is read-only does not allow the addition or removal of element
## Examples
- The following example defines a regular expression that consists of two numbered groups. The first group captures one or more consecutive digits. The second group matches a single character. Because the regular expression engine looks for zero or one occurrence of the first group, it does not always find a match even if the regular expression match is successful. The example then illustrates the result when the property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. The example defines a regular expression pattern `(\d+)*(\w)\2`, which is interpreted as shown in the following table.
+ The following example defines a regular expression that consists of two numbered groups. The first group captures one or more consecutive digits. The second group matches a single character. Because the regular expression engine looks for zero or one occurrence of the first group, it does not always find a match even if the regular expression match is successful. The example then illustrates the result when the property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. The example defines a regular expression pattern `(\d+)*(\w)\2`, which is interpreted as shown in the following table.
|Pattern|Description|
|-------------|-----------------|
@@ -717,14 +717,14 @@ A collection that is read-only does not allow the addition or removal of element
## Remarks
`groupName` can be either the name of a capturing group that is defined by the `(?<`*name*`>)` element in a regular expression, or the string representation of the number of a capturing group that is defined by a grouping construct. For more information about groups in regular expressions, see [Grouping Constructs](/dotnet/standard/base-types/grouping-constructs-in-regular-expressions).
- You can retrieve the names of all the captured groups in a object by calling the method. You can also map the numbers of capturing groups in a regular expression to their names by calling the method. Individual names from the array can then be passed to the property to retrieve the captured string.
+ You can retrieve the names of all the captured groups in a object by calling the method. You can also map the numbers of capturing groups in a regular expression to their names by calling the method. Individual names from the array can then be passed to the property to retrieve the captured string.
If `groupname` is not the name of a capturing group in the collection, or if `groupname` is the name of a capturing group that has not been matched in the input string, the method returns a object whose property is `false` and whose `Group.Value` property is .
## Examples
- The following example defines a regular expression that consists of two named groups. The first group, `numbers`, captures one or more consecutive digits. The second group, `letter`, matches a single character. Because the regular expression engine looks for zero or one occurrence of the pattern defined by the `numbers` group, the `numbers` group is not always present even if a match is successful. The example then illustrates the result when the property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. The example defines a regular expression pattern `(?\d+)*(?\w)\k`, which is interpreted as shown in the following table.
+ The following example defines a regular expression that consists of two named groups. The first group, `numbers`, captures one or more consecutive digits. The second group, `letter`, matches a single character. Because the regular expression engine looks for zero or one occurrence of the pattern defined by the `numbers` group, the `numbers` group is not always present even if a match is successful. The example then illustrates the result when the property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. The example defines a regular expression pattern `(?\d+)*(?\w)\k`, which is interpreted as shown in the following table.
|Pattern|Description|
|-------------|-----------------|
@@ -780,7 +780,7 @@ A collection that is read-only does not allow the addition or removal of element
## Remarks
-The order of the keys in the enumerable collection is unspecified, but the implementation must guarantee that the keys are in the same order as the corresponding values in the enumerable collection that is returned by the property.
+The order of the keys in the enumerable collection is unspecified, but the implementation must guarantee that the keys are in the same order as the corresponding values in the enumerable collection that is returned by the property.
]]>
@@ -979,7 +979,7 @@ The order of the keys in the enumerable collection is unspecified, but the imple
## Remarks
-This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
+This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
]]>
@@ -1172,7 +1172,7 @@ Instead of calling this method to retrieve an enumerator that lets you iterate t
## Remarks
-This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
+This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
]]>
@@ -1270,7 +1270,7 @@ This member is an explicit interface member implementation. It can be used only
## Remarks
-This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
+This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
]]>
@@ -1990,7 +1990,7 @@ This member is an explicit interface member implementation. It can be used only
## Remarks
-This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
+This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface.
]]>
diff --git a/xml/System.Text.RegularExpressions/Match.xml b/xml/System.Text.RegularExpressions/Match.xml
index 2148dfe122b..847181fa8ef 100644
--- a/xml/System.Text.RegularExpressions/Match.xml
+++ b/xml/System.Text.RegularExpressions/Match.xml
@@ -65,11 +65,11 @@
object is immutable and has no public constructor. An instance of the class is returned by the method and represents the first pattern match in a string. Subsequent matches are represented by objects returned by the method. In addition, a object that consists of zero, one, or more objects is returned by the method.
+ The object is immutable and has no public constructor. An instance of the class is returned by the method and represents the first pattern match in a string. Subsequent matches are represented by objects returned by the method. In addition, a object that consists of zero, one, or more objects is returned by the method.
- If the method fails to match a regular expression pattern in an input string, it returns an empty object. You can then use a `foreach` construct in C# or a `For Each` construct in Visual Basic to iterate the collection.
+ If the method fails to match a regular expression pattern in an input string, it returns an empty object. You can then use a `foreach` construct in C# or a `For Each` construct in Visual Basic to iterate the collection.
- If the method fails to match the regular expression pattern, it returns a object that is equal to . You can use the property to determine whether the match was successful. The following example provides an illustration.
+ If the method fails to match the regular expression pattern, it returns a object that is equal to . You can use the property to determine whether the match was successful. The following example provides an illustration.
:::code language="csharp" source="~/snippets/csharp/System.Text.RegularExpressions/Match/Overview/Match1.cs" interactive="try-dotnet-method" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Text.RegularExpressions/Match/Overview/Match1.vb" id="Snippet1":::
@@ -80,9 +80,9 @@
- You can iterate the members of the object by using a `foreach` (C#) or `For Each` (Visual Basic) construct.
-- You can use the property to retrieve groups by the number of the capturing group. Note that you can determine which numbered groups are present in a regular expression by calling the instance method.
+- You can use the property to retrieve groups by the number of the capturing group. Note that you can determine which numbered groups are present in a regular expression by calling the instance method.
-- You can use the property to retrieve groups by the name of the capturing group. Note that you can determine which named groups are present in a regular expression by calling the instance method.
+- You can use the property to retrieve groups by the name of the capturing group. Note that you can determine which named groups are present in a regular expression by calling the instance method.
## Examples
@@ -95,14 +95,14 @@ The following examples use the regular expression `Console\.Write(Line)?`. The r
**Example 1**
- The following example calls the method to retrieve all pattern matches in an input string. It then iterates the objects in the returned object to display information about each match.
+ The following example calls the method to retrieve all pattern matches in an input string. It then iterates the objects in the returned object to display information about each match.
:::code language="csharp" source="~/snippets/csharp/System.Text.RegularExpressions/Match/Overview/Match2.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/System.Text.RegularExpressions/Match/Overview/Match2.vb" id="Snippet2":::
**Example 2**
- The following example calls the and methods to retrieve one match at a time.
+ The following example calls the and methods to retrieve one match at a time.
:::code language="csharp" source="~/snippets/csharp/System.Text.RegularExpressions/Match/Overview/Match3.cs" id="Snippet3":::
:::code language="vb" source="~/snippets/visualbasic/System.Text.RegularExpressions/Match/Overview/Match3.vb" id="Snippet3":::
@@ -166,7 +166,7 @@ The following examples use the regular expression `Console\.Write(Line)?`. The r
).
+ This property should not be used to determine if a match is successful. Instead, use the `Match.Success` property (which is inherited from ).
]]>
@@ -286,7 +286,7 @@ The following examples use the regular expression `Console\.Write(Line)?`. The r
again and passing (`Index+Length`) as the new starting position.
+ This method is similar to calling again and passing (`Index+Length`) as the new starting position.
> [!NOTE]
> This method does not modify the current instance. Instead, it returns a new object that contains information about the next match.
@@ -296,7 +296,7 @@ The following examples use the regular expression `Console\.Write(Line)?`. The r
## Examples
- The following example uses the method to capture regular expression matches beyond the first match.
+ The following example uses the method to capture regular expression matches beyond the first match.
:::code language="csharp" source="~/snippets/csharp/System.Text.RegularExpressions/Match/Groups/snippet8.cs" id="Snippet8":::
:::code language="vb" source="~/snippets/visualbasic/System.Text.RegularExpressions/Match/Groups/snippet8.vb" id="Snippet8":::
@@ -365,7 +365,7 @@ The following examples use the regular expression `Console\.Write(Line)?`. The r
method replaces all matches in an input string with a specified replacement pattern, the method replaces a single match with a specified replacement pattern. Because it operates on an individual match, it is also possible to perform processing on the matched string before you call the method.
+ Whereas the method replaces all matches in an input string with a specified replacement pattern, the method replaces a single match with a specified replacement pattern. Because it operates on an individual match, it is also possible to perform processing on the matched string before you call the method.
The `replacement` parameter is a standard regular expression replacement pattern. It can consist of literal characters and regular expression substitutions. For more information, see [Substitutions](/dotnet/standard/base-types/substitutions-in-regular-expressions).
diff --git a/xml/System.Text.RegularExpressions/MatchCollection.xml b/xml/System.Text.RegularExpressions/MatchCollection.xml
index a4a0f059578..8544819176c 100644
--- a/xml/System.Text.RegularExpressions/MatchCollection.xml
+++ b/xml/System.Text.RegularExpressions/MatchCollection.xml
@@ -105,7 +105,7 @@
method returns a object.
+ The collection is immutable (read-only) and has no public constructor. The method returns a object.
The collection contains zero or more objects. If the match is successful, the collection is populated with one object for each match found in the input string. If the match is unsuccessful, the collection contains no objects, and its property equals zero.
@@ -113,13 +113,13 @@
- Direct evaluation.
- The object is populated all at once, with all matches resulting from a particular call to the method. This technique is used when the collection's property is accessed. It typically is the more expensive method of populating the collection and entails a greater performance hit.
+ The object is populated all at once, with all matches resulting from a particular call to the method. This technique is used when the collection's property is accessed. It typically is the more expensive method of populating the collection and entails a greater performance hit.
- Lazy evaluation.
- The object is populated as needed on a match-by-match basis. It is equivalent to the regular expression engine calling the method repeatedly and adding each match to the collection. This technique is used when the collection is accessed through its method, or when it is accessed using the `foreach` statement (in C#) or the `For Each`...`Next` statement (in Visual Basic).
+ The object is populated as needed on a match-by-match basis. It is equivalent to the regular expression engine calling the method repeatedly and adding each match to the collection. This technique is used when the collection is accessed through its method, or when it is accessed using the `foreach` statement (in C#) or the `For Each`...`Next` statement (in Visual Basic).
- To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) instead of retrieving the enumerator that is returned by the method.
+ To iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as `foreach` in C# and `For Each`…`Next` in Visual Basic) instead of retrieving the enumerator that is returned by the method.
@@ -187,7 +187,7 @@
Because the collection is copied into the array starting at the given index, the destination array must be at least as large as the entire collection.
> [!WARNING]
-> This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the method instead.
+> This member is not present in the Portable Class Library. If you are developing applications that target the Portable Class Library, use the method instead.
Because the object is generally populated by using lazy evaluation, trying to copy the collection before it has been fully populated may throw a