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.