नोट
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप साइन इन करने या निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
| Property | Value |
|---|---|
| Rule ID | CA1855 |
| Title | Use Span<T>.Clear() instead of Span<T>.Fill() |
| Category | Performance |
| Fix is breaking or non-breaking | Non-breaking |
| Enabled by default in .NET 10 | As suggestion |
Cause
Span<T>.Fill(T) is called to fill the elements of a span with a default value.
Rule description
It's more efficient to call Span<T>.Clear() than to call Span<T>.Fill(T) to fill the elements of the span with a default value.
How to fix violations
Replace the call to Span<T>.Fill(T) with a call to Span<T>.Clear().
Example
The following code snippet shows a violation of CA1855:
void M(Span<byte> span)
{
span.Fill(0);
}
The following code snippet fixes the violation:
void M(Span<byte> span)
{
span.Clear();
}
When to suppress warnings
It's safe to suppress this warning if performance isn't a concern.
Suppress a warning
If you just want to suppress a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
To disable the rule for a file, folder, or project, set its severity to none in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none
For more information, see How to suppress code analysis warnings.