İngilizce dilinde oku

Aracılığıyla paylaş


Enum.Parse Yöntem

Tanım

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür.

Aşırı Yüklemeler

Parse(Type, ReadOnlySpan<Char>)

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür.

Parse(Type, String)

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür.

Parse(Type, ReadOnlySpan<Char>, Boolean)

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

Parse(Type, String, Boolean)

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

Parse<TEnum>(String, Boolean)

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

Parse<TEnum>(ReadOnlySpan<Char>, Boolean)

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

Parse<TEnum>(ReadOnlySpan<Char>)

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür.

Parse<TEnum>(String)

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür.

Parse(Type, ReadOnlySpan<Char>)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür.

public static object Parse (Type enumType, ReadOnlySpan<char> value);

Parametreler

enumType
Type

Numaralandırma türü.

value
ReadOnlySpan<Char>

Dönüştürülecek adı veya değeri içeren bir yayılma alanı.

Döndürülenler

değeri valueile temsil edilen enumType türünde bir nesne.

Özel durumlar

enumType null.

enumType bir Enumdeğildir.

value boş bir dizedir veya yalnızca boşluk içerir.

value bir addır, ancak sabit listesi için tanımlanan adlandırılmış sabitlerden biri değildir.

value, temel alınan enumTypetürünün aralığının dışındadır.

.NET 8 ve sonraki sürümleri: enumType Boole destekli bir numaralandırma türüdür.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET 6, 7, 8, 9

Parse(Type, String)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür.

public static object Parse (Type enumType, string value);
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse (Type enumType, string value);

Parametreler

enumType
Type

Numaralandırma türü.

value
String

Dönüştürülecek adı veya değeri içeren bir dize.

Döndürülenler

değeri valueile temsil edilen enumType türünde bir nesne.

Öznitelikler

Özel durumlar

enumType veya valuenull.

enumType bir Enumdeğildir.

-veya-

value boş bir dizedir veya yalnızca boşluk içerir.

-veya-

value bir addır, ancak sabit listesi için tanımlanan adlandırılmış sabitlerden biri değildir.

value, temel alınan enumTypetürünün aralığının dışındadır.

.NET 8 ve sonraki sürümleri: enumType Boole destekli bir numaralandırma türüdür.

Örnekler

Aşağıdaki örnek, GetNames yöntemi çağrılarak oluşturulan dize dizisini ayrıştırmak için Parse(Type, String) yöntemini kullanır. Ayrıca bit alanından oluşan bir numaralandırma değerini ayrıştırmak için Parse(Type, String) yöntemini kullanır.

using System;

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

    public static void Main()
    {
        Console.WriteLine("The entries of the Colors enumeration are:");
        foreach (string colorName in Enum.GetNames(typeof(Colors)))
        {
            Console.WriteLine("{0} = {1:D}", colorName,
                                         Enum.Parse(typeof(Colors), colorName));
        }
        Console.WriteLine();

        Colors orange = (Colors) Enum.Parse(typeof(Colors), "Red, Yellow");
        Console.WriteLine("The orange value {0:D} has the combined entries of {0}",
                           orange);
    }
}

/*
This code example produces the following results:

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

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

*/

Açıklamalar

value parametresi, numaralandırma üyesinin temel alınan değerinin veya adlandırılmış sabitinin dize gösterimini ya da virgülle (,) ayrılmış adlandırılmış sabitlerin listesini içerir. valueiçinde her değer, ad veya virgülden önce bir veya daha fazla boş alan olabilir veya bu boşlukları izleyebilirsiniz. value bir listeyse, döndürülen değer, bit düzeyinde bir OR işlemiyle birleştirilen belirtilen adların değeridir.

value enumTypeadlandırılmış sabitine karşılık olmayan bir adsa, yöntemi bir ArgumentExceptionoluşturur. value, enumType numaralandırmasının temel alınan değerini temsil etmeyen bir tamsayının dize gösterimiyse, yöntemi temel alınan değeri value tamsayı türüne dönüştürülmüş bir numaralandırma üyesi döndürür. Bu davranış istenmeyen bir davranışsa, bir tamsayının belirli bir dize gösteriminin aslında enumTypeüyesi olduğundan emin olmak için IsDefined yöntemini çağırın. Aşağıdaki örnek bir Colors sabit listesi tanımlar, dizeleri karşılık gelen numaralandırma değerlerine dönüştürmek için Parse(Type, String) yöntemini çağırır ve belirli integral değerlerinin Colors numaralandırmasında temel alınan değerler olduğundan emin olmak için IsDefined yöntemini çağırır.

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)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString);
            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);
         }
         catch (ArgumentException) {
            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.

Bu işlem büyük/küçük harfe duyarlıdır.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse(Type, ReadOnlySpan<Char>, Boolean)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

public static object Parse (Type enumType, ReadOnlySpan<char> value, bool ignoreCase);

Parametreler

enumType
Type

Numaralandırma türü.

value
ReadOnlySpan<Char>

Dönüştürülecek adı veya değeri içeren bir yayılma alanı.

ignoreCase
Boolean

Büyük/küçük harf yoksaymak için true; Davayla ilgili false.

Döndürülenler

değeri valueile temsil edilen enumType türünde bir nesne.

Özel durumlar

enumType null.

enumType bir Enumdeğildir.

value boş bir dizedir veya yalnızca boşluk içerir.

value bir addır, ancak sabit listesi için tanımlanan adlandırılmış sabitlerden biri değildir.

value, temel alınan enumType türü aralığının dışındadır

.NET 8 ve sonraki sürümleri: enumType Boole destekli bir numaralandırma türüdür.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET 6, 7, 8, 9

Parse(Type, String, Boolean)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

Bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

public static object Parse (Type enumType, string value, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse (Type enumType, string value, bool ignoreCase);

Parametreler

enumType
Type

Numaralandırma türü.

value
String

Dönüştürülecek adı veya değeri içeren bir dize.

ignoreCase
Boolean

Büyük/küçük harf yoksaymak için true; Davayla ilgili false.

Döndürülenler

değeri valueile temsil edilen enumType türünde bir nesne.

Öznitelikler

Özel durumlar

enumType veya valuenull.

enumType bir Enumdeğildir.

-veya-

value boş bir dizedir ("") veya yalnızca boşluk içerir.

-veya-

value bir addır, ancak sabit listesi için tanımlanan adlandırılmış sabitlerden biri değildir.

value, temel alınan enumTypetürünün aralığının dışındadır.

.NET 8 ve sonraki sürümleri: enumType Boole destekli bir numaralandırma türüdür.

Örnekler

Aşağıdaki örnek, GetNames yöntemi çağrılarak oluşturulan dize dizisini ayrıştırmak için Parse(Type, String, Boolean) yöntemini kullanır. Ayrıca bit alanından oluşan bir numaralandırma değerini ayrıştırmak için Parse(Type, String) yöntemini kullanır.

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)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString, true);
            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);
         }
         catch (ArgumentException) {
            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.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.

Açıklamalar

value parametresi, numaralandırma üyesinin temel alınan değerinin veya adlandırılmış sabitinin dize gösterimini ya da virgülle (,) ayrılmış adlandırılmış sabitlerin listesini içerir. valueiçinde her değer, ad veya virgülden önce bir veya daha fazla boş alan olabilir veya bu boşlukları izleyebilirsiniz. value bir listeyse, döndürülen değer, bit düzeyinde bir OR işlemiyle birleştirilen belirtilen adların değeridir.

value enumTypeadlandırılmış sabitine karşılık olmayan bir adsa, yöntemi bir ArgumentExceptionoluşturur. value, enumType numaralandırmasının temel alınan değerini temsil etmeyen bir tamsayının dize gösterimiyse, yöntemi temel alınan değeri value tamsayı türüne dönüştürülmüş bir numaralandırma üyesi döndürür. Bu davranış istenmeyen bir davranışsa, bir tamsayının belirli bir dize gösteriminin aslında enumTypeüyesi olduğundan emin olmak için IsDefined yöntemini çağırın. Aşağıdaki örnek bir Colors sabit listesi tanımlar, dizeleri karşılık gelen numaralandırma değerlerine dönüştürmek için Parse(Type, String, Boolean) yöntemini çağırır ve belirli integral değerlerinin Colors numaralandırmasında temel alınan değerler olduğundan emin olmak için IsDefined yöntemini çağırır.

ignoreCase parametresi bu işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse<TEnum>(String, Boolean)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

public static TEnum Parse<TEnum> (string value, bool ignoreCase) where TEnum : struct;

Tür Parametreleri

TEnum

Numaralandırma türü.

Parametreler

value
String

Dönüştürülecek adı veya değeri içeren bir dize.

ignoreCase
Boolean

Büyük/küçük harf yoksaymak için true; Davayla ilgili false.

Döndürülenler

TEnum

değeri valueile temsil edilen TEnum türünde bir nesne.

Özel durumlar

TEnum Enum bir tür değildir.

value null.

value numaralandırma bilgilerini içermez.

.NET 8 ve sonraki sürümleri: TEnum Boole destekli bir numaralandırma türüdür.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Parse<TEnum>(ReadOnlySpan<Char>, Boolean)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür. Parametresi, işlemin büyük/küçük harfe duyarlı olup olmadığını belirtir.

public static TEnum Parse<TEnum> (ReadOnlySpan<char> value, bool ignoreCase) where TEnum : struct;

Tür Parametreleri

TEnum

Numaralandırma türü.

Parametreler

value
ReadOnlySpan<Char>

Dönüştürülecek adı veya değeri içeren bir yayılma alanı.

ignoreCase
Boolean

Büyük/küçük harf yoksaymak için true; Davayla ilgili false.

Döndürülenler

TEnum

TEnum değeri valueile temsil edilen TEnum türünde bir nesne.

Özel durumlar

TEnum Enum bir tür değildir.

value numaralandırma bilgilerini içermez.

.NET 8 ve sonraki sürümleri: TEnum Boole destekli bir numaralandırma türüdür.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET 6, 7, 8, 9

Parse<TEnum>(ReadOnlySpan<Char>)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin karakter gösteriminin aralığını eşdeğer bir numaralandırılmış nesneye dönüştürür.

public static TEnum Parse<TEnum> (ReadOnlySpan<char> value) where TEnum : struct;

Tür Parametreleri

TEnum

Numaralandırma türü.

Parametreler

value
ReadOnlySpan<Char>

Dönüştürülecek adı veya değeri içeren bir yayılma alanı.

Döndürülenler

TEnum

TEnum değeri valueile temsil edilen TEnum türünde bir nesne.

Özel durumlar

TEnum Enum bir tür değildir.

value numaralandırma bilgilerini içermez.

.NET 8 ve sonraki sürümleri: TEnum Boole destekli bir numaralandırma türüdür.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET 6, 7, 8, 9

Parse<TEnum>(String)

Kaynak:
Enum.cs
Kaynak:
Enum.cs
Kaynak:
Enum.cs

TEnum tarafından belirtilen bir veya daha fazla numaralandırılmış sabitin adının veya sayısal değerinin dize gösterimini eşdeğer bir numaralandırılmış nesneye dönüştürür.

public static TEnum Parse<TEnum> (string value) where TEnum : struct;

Tür Parametreleri

TEnum

Numaralandırma türü.

Parametreler

value
String

Dönüştürülecek adı veya değeri içeren bir dize.

Döndürülenler

TEnum

değeri valueile temsil edilen TEnum türünde bir nesne.

Özel durumlar

TEnum Enum bir tür değildir.

value null.

value numaralandırma bilgilerini içermez.

.NET 8 ve sonraki sürümleri: TEnum Boole destekli bir numaralandırma türüdür.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1