intがC#の正当な列挙型であるかどうかを確認する方法はありますか?

char m

いくつかのSOの投稿を読みましたが、最も基本的な操作が欠落しているようです。

public enum LoggingLevel
{
    Off = 0,
    Error = 1,
    Warning = 2,
    Info = 3,
    Debug = 4,
    Trace = 5
};

if (s == "LogLevel")
{
    _log.LogLevel = (LoggingLevel)Convert.ToInt32("78");
    _log.LogLevel = (LoggingLevel)Enum.Parse(typeof(LoggingLevel), "78");
    _log.WriteDebug(_log.LogLevel.ToString());
}

これは例外を引き起こしません、それは保存して幸せ78です。列挙型に入る値を検証する方法はありますか?

SwDevMan81

Enum.IsDefinedをチェックしてください

使用法:

if(Enum.IsDefined(typeof(MyEnum), value))
    MyEnum a = (MyEnum)value; 

これはそのページの例です:

using System;    
[Flags] public enum PetType
{
   None = 0, Dog = 1, Cat = 2, Rodent = 4, Bird = 8, Reptile = 16, Other = 32
};

public class Example
{
   public static void Main()
   {
      object value;     
      // Call IsDefined with underlying integral value of member.
      value = 1;
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      // Call IsDefined with invalid underlying integral value.
      value = 64;
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      // Call IsDefined with string containing member name.
      value = "Rodent";
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      // Call IsDefined with a variable of type PetType.
      value = PetType.Dog;
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      value = PetType.Dog | PetType.Cat;
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      // Call IsDefined with uppercase member name.      
      value = "None";
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      value = "NONE";
      Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      // Call IsDefined with combined value
      value = PetType.Dog | PetType.Bird;
      Console.WriteLine("{0:D}: {1}", value, Enum.IsDefined(typeof(PetType), value));
      value = value.ToString();
      Console.WriteLine("{0:D}: {1}", value, Enum.IsDefined(typeof(PetType), value));
   }
}

この例では、次の出力が表示されます。

//       1: True
//       64: False
//       Rodent: True
//       Dog: True
//       Dog, Cat: False
//       None: True
//       NONE: False
//       9: False
//       Dog, Bird: False

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

オブジェクトがTypeScriptの列挙型のタイプであるかどうかを確認する方法はありますか?

分類Dev

基になる型の値が列挙値であるかどうかをどのように確認する必要がありますか?

分類Dev

文字列がCで有効な列挙型であるかどうかを確認します

分類Dev

文字列がCでfloatになり得るかどうかを確認する方法はありますか?

分類Dev

変数がint型のときに.charsが空かどうかを確認する方法はありますか?

分類Dev

c#列挙型フラグ文字列がフラグ内にあるかどうかを確認します

分類Dev

列に複数のdtypeがあるかどうかを確認する効率的な方法はありますか?

分類Dev

列挙型がdesire要素の1つであるかどうかをセッターで確認します

分類Dev

特定のメタタイプが列挙型であるかどうかを確認します

分類Dev

バイトが列挙型の値であるかどうかを確認します

分類Dev

実行時に使用している正確な列挙型を確認する方法はありますか?

分類Dev

実行時に使用している正確な列挙型を確認する方法はありますか?

分類Dev

変数がPythonで列挙型であるかどうかを確認する方法

分類Dev

2つの配列に同じ要素があるかどうかを確認する方法はありますか?

分類Dev

c#-変数が複数のものの1つであるかどうかを確認するためのより簡単な方法はありますか?

分類Dev

値がC#のintであるかどうかを確認することは可能ですか?

分類Dev

文字列が列挙型の一部であるかどうかを確認するにはどうすればよいですか?

分類Dev

不明な列挙型にデフォルト値があるかどうかを確認します

分類Dev

AがBの部分行列であるかどうかを確認する方法はありますか?

分類Dev

Javaの列挙型からアイテム番号を取得するCのような方法はありますか?

分類Dev

列挙型の値が満たされているかどうかを確認するために必要なコードの量を減らす方法はありますか?

分類Dev

C#文字列が文であるかどうかを確認します

分類Dev

1つの変数に2つの異なる文字列があるかどうかを確認するためのより良い方法はありますか?

分類Dev

別々の「列」の2つの値が等しいかどうかを確認する方法はありますか?

分類Dev

キーごとのすべての配列値が空であるかどうかを確認するためのより良い方法はありますか?

分類Dev

複数の値を持つ列挙型パラメーターに特定の列挙型があるかどうかを確認する方法

分類Dev

文字列がerlangで英数字かどうかを確認する方法はありますか?

分類Dev

Sparkの変数が並列化可能かどうかを確認する方法はありますか?

分類Dev

objがluxon型であるかどうかを確認する方法は?

Related 関連記事

  1. 1

    オブジェクトがTypeScriptの列挙型のタイプであるかどうかを確認する方法はありますか?

  2. 2

    基になる型の値が列挙値であるかどうかをどのように確認する必要がありますか?

  3. 3

    文字列がCで有効な列挙型であるかどうかを確認します

  4. 4

    文字列がCでfloatになり得るかどうかを確認する方法はありますか?

  5. 5

    変数がint型のときに.charsが空かどうかを確認する方法はありますか?

  6. 6

    c#列挙型フラグ文字列がフラグ内にあるかどうかを確認します

  7. 7

    列に複数のdtypeがあるかどうかを確認する効率的な方法はありますか?

  8. 8

    列挙型がdesire要素の1つであるかどうかをセッターで確認します

  9. 9

    特定のメタタイプが列挙型であるかどうかを確認します

  10. 10

    バイトが列挙型の値であるかどうかを確認します

  11. 11

    実行時に使用している正確な列挙型を確認する方法はありますか?

  12. 12

    実行時に使用している正確な列挙型を確認する方法はありますか?

  13. 13

    変数がPythonで列挙型であるかどうかを確認する方法

  14. 14

    2つの配列に同じ要素があるかどうかを確認する方法はありますか?

  15. 15

    c#-変数が複数のものの1つであるかどうかを確認するためのより簡単な方法はありますか?

  16. 16

    値がC#のintであるかどうかを確認することは可能ですか?

  17. 17

    文字列が列挙型の一部であるかどうかを確認するにはどうすればよいですか?

  18. 18

    不明な列挙型にデフォルト値があるかどうかを確認します

  19. 19

    AがBの部分行列であるかどうかを確認する方法はありますか?

  20. 20

    Javaの列挙型からアイテム番号を取得するCのような方法はありますか?

  21. 21

    列挙型の値が満たされているかどうかを確認するために必要なコードの量を減らす方法はありますか?

  22. 22

    C#文字列が文であるかどうかを確認します

  23. 23

    1つの変数に2つの異なる文字列があるかどうかを確認するためのより良い方法はありますか?

  24. 24

    別々の「列」の2つの値が等しいかどうかを確認する方法はありますか?

  25. 25

    キーごとのすべての配列値が空であるかどうかを確認するためのより良い方法はありますか?

  26. 26

    複数の値を持つ列挙型パラメーターに特定の列挙型があるかどうかを確認する方法

  27. 27

    文字列がerlangで英数字かどうかを確認する方法はありますか?

  28. 28

    Sparkの変数が並列化可能かどうかを確認する方法はありますか?

  29. 29

    objがluxon型であるかどうかを確認する方法は?

ホットタグ

アーカイブ