我将enum绑定(bind)到像这样的属性网格:

public enum myEnum
{
    Ethernet,
    Wireless,
    Bluetooth
}

public class MyClass
{
    public MyClass()
    {
        MyProperty = MyEnum.Wireless;
    }

    [DefaultValue(MyEnum.Wireless)]
    public MyEnum MyProperty { get; set; }
}

public Form1()
{
    InitializeComponent();
    PropertyGrid pg = new PropertyGrid();
    pg.SelectedObject = new MyClass();
    pg.Dock = DockStyle.Fill;
    this.Controls.Add(pg);
}

我的问题:程序运行时,我会即时获取数据。我阅读了网络适配器,然后将适配器名称存储到myArray中,如下所示:
string[] myArray = new string[] { };
myArray[0] = "Ethernet";
myArray[1] = "Wireless";
myArray[2] = "Bluetooth";

是否可以使用C#即时将myArray转换为myEnum?谢谢你。

最佳答案

当然!这就是您所需要的:

IEnumerable<myEnum> items = myArray.Select(a => (myEnum)Enum.Parse(typeof(myEnum), a));

关于c# - 快速将字符串数组转换为枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13841880/

10-12 03:51