JetBrains Rider 2024.1 ヘルプ

コード検査: 列挙型のビット演算は [Flags] 属性でマークされていません

列挙型が単一の個別の値のセットではなくビットフラグで表される選択肢の組み合わせとして使用されている場合は、[ 旗 ] 属性で装飾することをお勧めします。

このインスペクションは、[Flags] 属性を持たない列挙にビット論理演算子が適用されるケースを報告します。

列挙が実際にビットフラグのセットを表す場合は、それに [Flags] 属性を適用することを検討してください。これにより、コードの読者がインテンションをよりよく理解できるようになります。また、ToString()Enum.Parse() などの一部のシステムメソッドが列挙を処理する方法も変わります。

public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } public class Test { public Test() { var weekEnd = Days.Saturday | Days.Sunday; Console.WriteLine(weekEnd); // Output: 7 } }
[Flags] public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } public class Test { public Test() { var weekEnd = Days.Saturday | Days.Sunday; Console.WriteLine(weekEnd); // Output: Saturday, Sunday } }

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...

コード検査: 辞書検索は「TryGetValue」で簡略化できます

このインスペクションは、の後にインデックスアクセサーが続く代わりにメソッドを使用することで、辞書の検索を簡素化できることを提案しています。とインデックスアクセサーはどちらも辞書内のキーを検索します。つまり、最初にキーが存在するかどうかを確認し、次に実際に値を取得するという同じ操作を 2 回実行することになります。はこれらの操作を組み合わせて、辞書の検索を 1 回だけ実行します。指定されたキーに関連付けられた値を取得しようとします。キーが存在する場合は、を返し、キーに関連付けられた値を変数に割り当...