ac#ifステートメントで論理演算子の代わりにcontainsメソッドを使用する必要があるのはいつですか?

あなたはダウェを知っていますか

私の同僚array.contains()は、if列挙型を評価するときステートメントでを使用する必要があると言いました

例a:

if (new[] { enumvalue.a, enumvalue.b, enumvalue.c }.Contains(x.some_enum_value))
{
    do_something();
}

... vs例b

if (x.some_enum_value == enumvalue.a || x.some_enum_value == enumvalue.b || x.some_enum_value == enumvalue.c) 
{
    do_something();
}

例bよりも例aをいつ使用する必要がありますか?

一般的な

C#7.3列挙型制約を使用する両方の長所

public static bool IsIn<TEnum>(this TEnum source, params TEnum[] list)
   where TEnum : Enum 
   => list.Contains(source);

またはあなたがする場合

public static bool IsIn<T>(this T source, params T[] list)
   => list.Contains(source);

使用法

var someEnum = MyEnum.Three;

if (someEnum.IsIn(MyEnum.One, MyEnum.Three))
{
   Console.WriteLine();
}

var list = new[]
              {
                 MyEnum.Three,
                 MyEnum.One
              };

if (someEnum.IsIn(list))
{
   Console.WriteLine();
}

注:要するに、あなたはあなたが最も好きなこと、そして最も維持しやすいこと、そしてあなたの上司が好きなことをするべきです。他のすべては主観的です

注2:唯一の利点は拡張メソッドの使用法であり、paramsキーワードを使用してパラメーターのリストを取得できます。そうでなければ、これにはあまり価値がありません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

super経由で呼び出すときに、演算子の代わりに__dunder__メソッドを使用する必要があるのはなぜですか?

分類Dev

if-elseステートメントの代わりに使用するメソッドはどれですか?

分類Dev

「ターゲット」はエンティティの代わりに何になり、いつ単一のエンティティ タイプで作業するときにその論理名を確認する必要がありますか?

分類Dev

ドメインの代わりに列挙型を使用する必要があるのはいつですか?

分類Dev

メソッド内でローカル変数の代わりに最終変数を使用する必要があるのはいつですか

分類Dev

getメソッドの代わりにRustVecへの直接アクセスを使用する必要があるのはいつですか?

分類Dev

Bashで論理演算子を使用するときに、エラーステートメントを出力しないのはどうしてですか?

分類Dev

Python:メソッドの代わりにサブクラスを使用する必要があるのはいつですか?

分類Dev

ファクトリメソッドパターンはいつ使用する必要がありますか?(構成の代わりに)

分類Dev

someメソッドを持つ三項演算子がこのステートメントをfalseにするのはなぜですか?

分類Dev

__init __()を使用する代わりにメソッドを使用する必要があるのはなぜですか?

分類Dev

オブジェクトを比較するために、.equals()メソッドの代わりに "=="関係演算子を使用できないことがあるのはなぜですか?

分類Dev

オブジェクトを比較するために、.equals()メソッドの代わりに "=="関係演算子を使用できないことがあるのはなぜですか?

分類Dev

Kotlinの演算子を使用する代わりに、プラス、マイナス、回の関数を使用する必要があるのはいつですか?

分類Dev

論理演算子の代わりにビット演算子を使用できますか?

分類Dev

iso646.hのヘッダーファイル内のビット演算子および論理演算子に代替マクロを使用する必要があるのはいつですか?

分類Dev

テンプレートで変数パラメーターを使用する論理演算子について

分類Dev

ルートの代わりにリソースを使用する必要があるのはなぜですか?

分類Dev

複数のIFステートメントの代わりにtry / catchを使用する方が良いですか?

分類Dev

ミューテックスの代わりにスピンロックを使用する必要があるのはいつですか?

分類Dev

SQL Server 2008で関数の代わりにストアドプロシージャを使用する必要があるのはいつですか?

分類Dev

JavaScriptのif-elseステートメントの代わりに条件演算子 "?:"を検討できますか?

分類Dev

リポジトリの「Get」メソッドと「GetAsync」メソッドが、エンティティが存在しない場合にnullを返す代わりにEntityNotFoundExceptionをスローするのはなぜですか?

分類Dev

「すべてのコードパスが値を返すわけではありません」エラーがメソッドで発生しますが、すべてのシナリオをカバーするためにいくつかのifステートメントを使用しました

分類Dev

カスタム定義された同様のメソッドの代わりに「get_absolute_url()」を使用する必要があるのはなぜですか?

分類Dev

C#でデフォルトのインターフェイスメソッドを使用する必要があるのはいつですか?

分類Dev

論理AND演算子とネストされたifステートメントの違いは何ですか?

分類Dev

Javaのifブロックで論理演算子またはビットごとの演算子を使用することの間の違いはありますか?

分類Dev

静的メインの代わりにオブジェクトベースのrun()メソッドを使用することに利点はありますか?

Related 関連記事

  1. 1

    super経由で呼び出すときに、演算子の代わりに__dunder__メソッドを使用する必要があるのはなぜですか?

  2. 2

    if-elseステートメントの代わりに使用するメソッドはどれですか?

  3. 3

    「ターゲット」はエンティティの代わりに何になり、いつ単一のエンティティ タイプで作業するときにその論理名を確認する必要がありますか?

  4. 4

    ドメインの代わりに列挙型を使用する必要があるのはいつですか?

  5. 5

    メソッド内でローカル変数の代わりに最終変数を使用する必要があるのはいつですか

  6. 6

    getメソッドの代わりにRustVecへの直接アクセスを使用する必要があるのはいつですか?

  7. 7

    Bashで論理演算子を使用するときに、エラーステートメントを出力しないのはどうしてですか?

  8. 8

    Python:メソッドの代わりにサブクラスを使用する必要があるのはいつですか?

  9. 9

    ファクトリメソッドパターンはいつ使用する必要がありますか?(構成の代わりに)

  10. 10

    someメソッドを持つ三項演算子がこのステートメントをfalseにするのはなぜですか?

  11. 11

    __init __()を使用する代わりにメソッドを使用する必要があるのはなぜですか?

  12. 12

    オブジェクトを比較するために、.equals()メソッドの代わりに "=="関係演算子を使用できないことがあるのはなぜですか?

  13. 13

    オブジェクトを比較するために、.equals()メソッドの代わりに "=="関係演算子を使用できないことがあるのはなぜですか?

  14. 14

    Kotlinの演算子を使用する代わりに、プラス、マイナス、回の関数を使用する必要があるのはいつですか?

  15. 15

    論理演算子の代わりにビット演算子を使用できますか?

  16. 16

    iso646.hのヘッダーファイル内のビット演算子および論理演算子に代替マクロを使用する必要があるのはいつですか?

  17. 17

    テンプレートで変数パラメーターを使用する論理演算子について

  18. 18

    ルートの代わりにリソースを使用する必要があるのはなぜですか?

  19. 19

    複数のIFステートメントの代わりにtry / catchを使用する方が良いですか?

  20. 20

    ミューテックスの代わりにスピンロックを使用する必要があるのはいつですか?

  21. 21

    SQL Server 2008で関数の代わりにストアドプロシージャを使用する必要があるのはいつですか?

  22. 22

    JavaScriptのif-elseステートメントの代わりに条件演算子 "?:"を検討できますか?

  23. 23

    リポジトリの「Get」メソッドと「GetAsync」メソッドが、エンティティが存在しない場合にnullを返す代わりにEntityNotFoundExceptionをスローするのはなぜですか?

  24. 24

    「すべてのコードパスが値を返すわけではありません」エラーがメソッドで発生しますが、すべてのシナリオをカバーするためにいくつかのifステートメントを使用しました

  25. 25

    カスタム定義された同様のメソッドの代わりに「get_absolute_url()」を使用する必要があるのはなぜですか?

  26. 26

    C#でデフォルトのインターフェイスメソッドを使用する必要があるのはいつですか?

  27. 27

    論理AND演算子とネストされたifステートメントの違いは何ですか?

  28. 28

    Javaのifブロックで論理演算子またはビットごとの演算子を使用することの間の違いはありますか?

  29. 29

    静的メインの代わりにオブジェクトベースのrun()メソッドを使用することに利点はありますか?

ホットタグ

アーカイブ