このドキュメントはアーカイブされており、メンテナンスされていません。

Enum.Parse メソッド (Type, String)

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

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

[ComVisibleAttribute(true)] 
public static Object Parse (
	Type enumType,
	string value
)
/** @attribute ComVisibleAttribute(true) */ 
public static Object Parse (
	Type enumType, 
	String value
)
ComVisibleAttribute(true) 
public static function Parse (
	enumType : Type, 
	value : String
) : Object
適用できません。

パラメータ

enumType

列挙体の Type

value

変換する名前または値が含まれている文字列。

戻り値

値が value により表される enumType 型のオブジェクト。

例外の種類条件

ArgumentNullException

enumType または value が null 参照 (Visual Basic では Nothing) です。

ArgumentException

enumTypeEnum ではありません。

または

value が空の文字列であるか、または空白しか含まれていません。

または

value は名前ですが、列挙体に対して定義された名前付き定数ではありません。

value パラメータには、値、名前付き定数、またはコンマ (,) で区切られた名前付き定数のリストが含まれています。value 内のそれぞれの値、名前、またはコンマの前または後ろに 1 つ以上の空白を付けることができます。value がリストの場合、戻り値は、指定した名前をビットごとの OR 演算で組み合わせた結果の値になります。

この演算では、大文字と小文字が区別されます。

Parse を使用して、パラメータとして TypeString を受け取る方法については、次のコード例を参照してください。

using System;

public class ParseTest
{
    [FlagsAttribute]
    enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };

    public static void Main()
    {
        Console.WriteLine("The entries of the Colors Enum are:");
        foreach (string colorName in Enum.GetNames(typeof(Colors)))
        {
            Console.WriteLine("{0}={1}", colorName, 
                                         Convert.ToInt32(Enum.Parse(typeof(Colors), colorName)));
        }
        Console.WriteLine();
        Colors myOrange = (Colors)Enum.Parse(typeof(Colors), "Red, Yellow");
        Console.WriteLine("The myOrange value {1} has the combined entries of {0}", 
                           myOrange, Convert.ToInt64(myOrange));
    }
}

/*
This code example produces the following results:

The entries of the Colors Enum are:
Red=1
Green=2
Blue=4
Yellow=8

The myOrange value 9 has the combined entries of Red, Yellow

*/

import System.*;

public class ParseTest
{
    /** @attribute FlagsAttribute()
     */
    enum Colors
    {
        red  (1),
        green  (2),
        blue  (4),
        yellow  (8);
    } //Colors

    public static void main(String[] args)
    {
        Console.WriteLine("The entries of the Colors Enum are:");

        String s[] = Enum.GetNames(Colors.class.ToType());
        for (int iCtr = 0; iCtr < s.length; iCtr++) {
            Console.WriteLine(s[iCtr]);
        }
        Console.WriteLine();

        Colors myOrange = ((Colors)(Enum.Parse(Colors.class.ToType(), 
            "red, yellow")));
        Console.WriteLine("The myOrange value has the combined entries of {0}",
            myOrange);
    } //main
} //ParseTest

import System;

public class ParseTest {
    FlagsAttribute
    enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };

    public static function Main() {
        Console.WriteLine("The entries of the Colors Enum are:");
        for(var i : int in Enum.GetNames(Colors))
            Console.WriteLine(Enum.GetNames(Colors).GetValue(i));
        Console.WriteLine();
        var myOrange : Colors = Colors(Enum.Parse(Colors, "Red, Yellow"));
        Console.WriteLine("The myOrange value has the combined entries of {0}", myOrange);
    }
}

ParseTest.Main();

/*
This code example produces the following results:

The entries of the Colors Enum are:
Red
Green
Blue
Yellow

The myOrange value has the combined entries of Red, Yellow

*/

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0
表示: