Convert string array to enum on the fly

arrays, c#, enums, propertygrid, winforms

Solution

Sure! This is all you need:

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

Problem

I am binding an `enum` to a property grid like this: ``` 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); } ``` My problem: I get data on the fly when the program is running. I read the network adapter then store adapter names to `myArray` like this: ``` string[] myArray = new string[] { }; myArray[0] = "Ethernet"; myArray[1] = "Wireless"; myArray[2] = "Bluetooth"; ``` Is possible convert `myArray` to `myEnum` on the fly using c#? Thank You.

Original source