Konversi array string ke Daftar <string>


162

Saya telah melihat contoh ini dilakukan menggunakan .ToList()pada jenis array, ini tampaknya hanya tersedia di. Net 3.5+ . Saya bekerja dengan .NET Framework 2.0 pada proyek ASP.NET yang tidak dapat ditingkatkan saat ini, jadi saya bertanya-tanya: apakah ada solusi lain? Salah satu yang lebih elegan daripada perulangan melalui array dan menambahkan setiap elemen ke Daftar ini (yang tidak ada masalah; Saya hanya ingin tahu apakah ada solusi yang lebih baik untuk tujuan pembelajaran)?

string[] arr = { "Alpha", "Beta", "Gamma" };

List<string> openItems = new List<string>();

foreach (string arrItem in arr)
{
    openItems.Add(arrItem);
}

Jika saya harus melakukannya dengan cara ini, apakah ada cara untuk membatalkan alokasi array yang tersisa dari memori setelah saya menyalinnya ke daftar saya?


1
Jangan khawatir membersihkan Anda arr, pengumpul sampah akan melakukan pekerjaan yang jauh lebih baik daripada Anda.
— Mike Christensen

37
Anda secara spesifik. Dan saya. Sebenarnya, saya pikir hanya Jon Skeet yang diizinkan melakukan pengumpulan sampah sendiri.
— Mike Christensen

@MikeChristensen Tidak bisa menahan upvoting untuk komentar Jon Skeet. lol
— Ctrl S

Jawaban:



26

Dari .Net 3.5 Anda dapat menggunakan metode ekstensi LINQ yang (terkadang) membuat aliran kode sedikit lebih baik.

Penggunaannya terlihat seperti ini:

using System.Linq; 

// ...

public void My()
{
    var myArray = new[] { "abc", "123", "zyx" };
    List<string> myList = myArray.ToList();
}

PS. Ada juga ToArray()metode yang bekerja dengan cara lain.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.