次の方法で共有


stackalloc にコレクション式を使用する (IDE0302)

財産 価値
ルール ID IDE0302
タイトル stackalloc にコレクション式を使用する
カテゴリ スタイル
サブカテゴリ 言語ルール (表現レベルの優先度)
該当する言語 C# 12+
オプション dotnet_style_prefer_collection_expression

概要

この規則は、配列ではなく stackalloc を検索する点を除き、配列 (IDE0300) に対してコレクション式を使用する に似ています。 IDE0300 と同様に、コレクション式を使用するようにコードを変換することが提案されます。 たとえば、stackalloc int[] { ... }stackalloc [] { ... }[...]に簡略化されます。

手記

この規則は、スタック上で値を保持できる .NET 8 以降のバージョンでのみ使用できます。

オプション

オプションでは、ルールを適用する動作を指定します。 オプションの構成については、「オプション形式 を参照してください。

dotnet_style_prefer_collection_expression

財産 価値 説明
オプション名 dotnet_style_prefer_collection_expression
オプション値 true | when_types_exactly_match コレクション式を用いることを推奨します。
false | never ルールを無効にします。
既定のオプション値 true

// Code with violations.
ReadOnlySpan<int> x = stackalloc int[] { 1, 2, 3 };

// Fixed code.
ReadOnlySpan<int> x = [1, 2, 3];

警告を抑制する

1 つの違反のみを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、ルールを再度有効にします。

#pragma warning disable IDE0302
// The code that's violating the rule is on this line.
#pragma warning restore IDE0302

ファイル、フォルダー、またはプロジェクトのルールを無効にするには、その重大度を 構成ファイルnone に設定します。

[*.{cs,vb}]
dotnet_diagnostic.IDE0302.severity = none

すべてのコード スタイルルールを無効にするには、カテゴリ Style の重大度を、構成ファイルnone するように設定します。

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目