Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fastest Convert from Collection to List<T>

Tags:

c#

collections

What I'd like to avoid:

ManagementClass m = new ManagementClass("Win32_LogicalDisk");  ManagementObjectCollection managementObjects = m.GetInstances();  List<ManagementObject> managementList = new List<ManagementObject>();  foreach(ManagementObject m in managementObjects){      managementList.Add(m);  } 

Isn't there a way to get that collection into a List that looks something like:

List<ManagementObject> managementList = new List<ManagementObjec>(collection_array); 
like image 546
t3rse Avatar asked Oct 09 '08 15:10

t3rse


2 Answers

What version of the framework? With 3.5 you could presumably use:

List<ManagementObject> managementList = managementObjects.Cast<ManagementObject>().ToList(); 

(edited to remove simpler version; I checked and ManagementObjectCollection only implements the non-generic IEnumerable form)

like image 54
Marc Gravell Avatar answered Oct 14 '22 17:10

Marc Gravell


You could use

using System.Linq; 

That will give you a ToList<> extension method for ICollection<>

like image 41
jacobsgriffith Avatar answered Oct 14 '22 18:10

jacobsgriffith