この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Enum.TryParse<TEnum> メソッド (String, TEnum)

 

公開日: 2016年10月

文字列形式での 1 つ以上の列挙定数の名前または数値を、等価の列挙オブジェクトに変換します。 戻り値は、変換が成功したかどうかを示します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

public static bool TryParse<TEnum>(
	string value,
	out TEnum result
)
where TEnum : struct

パラメーター

value
Type: System.String

変換する列挙定数の名前または基になる値の文字列形式。

result
Type: TEnum

このメソッドから制御が戻るときに、result には、解析操作が成功したときに値が value で表される TEnum 型のオブジェクトが格納されます。 解析操作が失敗した場合、result には TEnum の基になる型の既定値が格納されます。 この値が TEnum 列挙型のメンバーである必要がないことに注意してください。 このパラメーターは初期化せずに渡されます。

戻り値

Type: System.Boolean

true パラメーターが正常に変換された場合は value。それ以外の場合は false

型パラメーター

TEnum

value の変換先の列挙型。

Exception Condition
ArgumentException

TEnum は列挙型ではありません。

TryParse<TEnum>(String, TEnum)同じですが、Parse(Type, String)以外を返しますが、例外をスローする代わりに、メソッドfalse変換に失敗する場合。 これにより、例外処理の列挙値の文字列形式を解析するときの必要があります。

valueパラメーターには、列挙体のメンバーの基になる値や名前付き定数の文字列表現が含まれているか、名前付き定数または基になる値の一覧がコンマ (,) で区切られます。 場合valueが複数には含まれていますという名前の定数または値 1 つ以上の空白文字の前にしたり、以下の各値、名前、またはコンマでvalueです。 場合value一覧、 result 、指定した名前の値を反映または値のビットごとの組み合わせを基になるOR操作します。 場合value列挙値を比較した結果の名前の文字列表現ですvalue列挙型名は大文字小文字を区別します。

場合value名前を指定の名前付き定数に対応していないTEnum、メソッドを返しますfalseです。 場合valueの基になる値を表していないを整数の文字列表現です、TEnum列挙型、メソッドは、基になる値が列挙体のメンバーを返しますvalue整数型に変換します。 この動作が望ましくない場合は、呼び出し、IsDefined整数の特定の文字列表現が実際のメンバーであることを確認するメソッドTEnumです。

次の例では定義、Colors列挙型、呼び出し、 TryParse<TEnum>(String, TEnum) 、対応する列挙値、および呼び出し文字列に変換するメソッド、IsDefinedで値を特定の整数値が基になることを確認する方法、Colors列挙します。

using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
   public static void Main()
   {
      string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
      foreach (string colorString in colorStrings)
      {
         Colors colorValue;
         if (Enum.TryParse(colorString, out colorValue))        
            if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))  
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
            else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
         else
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
      }
   }
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       blue is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
4.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
4.0 以降で使用可能
Windows Phone Silverlight
8.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: