İlk cevap kabul edilen cevap olmamalıdır. Ben eski bir 2007 C # Microsoft MVP'siyim.
Kabul edilen yanıt aksine, ConvertAllçok daha verimli kombinasyonu daha Selectve ToList().
Her şeyden önce, ConvertAllkesinlikle daha hızlıdır ve bunu yapmak için minimum miktarda bellek kullanır. Array.ConvertAll, Select ve ToArray ile aynıdır. Bu, daha büyük uzunlukta bir dizi veya bir döngü içindeki birçok çağrı ile çok daha belirgindir.
1) ConvertAllson listenin boyutunu bilir ve temel dizinin yeniden tahsis edilmesini önler. ToList() diziyi birden çok kez yeniden boyutlandırmaya devam eder.
2) ToListarayüz IEnumerable<>aramalarını yavaşlatırken , ConvertAllekstra aramalar veya aralık kontrolleri olmadan temeldeki dizide döngü yapacaktır.
3) Select fazladan bir IEnumerable<T>nesne oluşturacaktır .