Mungkin yang sangat sederhana ini - Saya mulai dengan C # dan perlu menambahkan nilai ke array, misalnya:
int[] terms;
for(int runs = 0; runs < 400; runs++)
{
terms[] = runs;
}
Bagi mereka yang telah menggunakan PHP, inilah yang saya coba lakukan di C #:
$arr = array();
for ($i = 0; $i < 10; $i++) {
$arr[] = $i;
}
Jawaban:
Anda bisa melakukan ini -
Atau, Anda dapat menggunakan Daftar - keuntungan dengan daftar adalah, Anda tidak perlu tahu ukuran array saat membuat daftar.
Sunting: a) untuk loop pada Daftar <T> sedikit lebih dari 2 kali lebih murah daripada loop foreach pada Daftar <T>, b) Looping pada array sekitar 2 kali lebih murah daripada looping pada Daftar <T>, c) looping on menggunakan array for 5 kali lebih murah daripada mengulang pada Daftar <T> menggunakan foreach (yang kebanyakan dari kita lakukan).
sumber
new int[]{}
!!!!!OutOfRangeException
segera setelah Anda menjalankan kode. Array harus diinisialisasi dengan ukuran yang akan Anda gunakan, mereka memesan semua ruang di awal, penyihir membuatnya sangat cepat, tetapi tidak mungkin bagi mereka untuk diubah ukurannya.Jika Anda menulis dalam C # 3, Anda dapat melakukannya dengan satu kalimat:
Cuplikan kode ini mengasumsikan bahwa Anda memiliki arahan penggunaan untuk System.Linq di bagian atas file Anda.
Di sisi lain, jika Anda mencari sesuatu yang dapat diubah ukurannya secara dinamis, seperti yang terjadi pada PHP (Saya tidak pernah benar-benar mempelajarinya), maka Anda mungkin ingin menggunakan Daftar alih-alih int [] . Inilah yang yang kode akan terlihat seperti:
Namun, perhatikan bahwa Anda tidak bisa menambahkan elemen ke-401 hanya dengan menyetel istilah [400] ke suatu nilai. Anda malah perlu memanggil Tambah (), seperti ini:
sumber
Menggunakan metode Linq , Concat membuat ini mudah
hasil 3,4,2
sumber
Jawaban tentang cara melakukannya menggunakan array disediakan di sini.
Namun, C # memiliki hal yang sangat berguna yang disebut System.Collections :)
Koleksi adalah alternatif yang bagus untuk menggunakan array, meskipun banyak dari mereka menggunakan array secara internal.
Sebagai contoh, C # memiliki koleksi yang disebut Daftar yang fungsinya sangat mirip dengan array PHP.
sumber
Menggunakan Daftar sebagai perantara adalah cara termudah, seperti yang dijelaskan orang lain, tetapi karena input Anda adalah array dan Anda tidak hanya ingin menyimpan data dalam Daftar, saya kira Anda mungkin khawatir tentang kinerja.
Metode yang paling efisien kemungkinan mengalokasikan array baru dan kemudian menggunakan Array.Copy atau Array.CopyTo. Ini tidak sulit jika Anda hanya ingin menambahkan item ke akhir daftar:
Saya juga dapat memposting kode untuk metode ekstensi Sisipkan yang mengambil indeks tujuan sebagai input, jika diinginkan. Ini sedikit lebih rumit dan menggunakan metode statis Array.Copy 1-2 kali.
sumber
Berdasarkan jawaban Thracx (saya tidak punya cukup poin untuk menjawab):
Ini memungkinkan untuk menambahkan lebih dari satu item ke array, atau hanya meneruskan array sebagai parameter untuk bergabung dengan dua array.
sumber
Anda harus mengalokasikan array terlebih dahulu:
sumber
Itu akan menjadi bagaimana saya mengkodekannya.
sumber
Array C # adalah panjang tetap dan selalu diindeks. Pergi dengan solusi Motti:
Perhatikan bahwa array ini adalah array yang padat, blok bersebelahan dari 400 byte di mana Anda dapat menjatuhkan sesuatu. Jika Anda menginginkan array berukuran dinamis, gunakan Daftar <int>.
Baik int [] maupun Daftar <int> adalah array asosiatif - yang akan menjadi Kamus <> dalam C #. Baik array dan daftar padat.
sumber
sumber
Anda tidak bisa hanya menambahkan elemen ke array dengan mudah. Anda dapat mengatur elemen pada posisi tertentu sebagai fallen888 diuraikan, tapi saya sarankan untuk menggunakan
List<int>
atauCollection<int>
sebaliknya, dan penggunaanToArray()
jika Anda membutuhkannya dikonversi ke dalam sebuah array.sumber
Jika Anda benar-benar membutuhkan array, berikut ini mungkin yang paling sederhana:
sumber
Saya akan menambahkan ini untuk varian lain. Saya lebih suka jenis garis coding fungsional lebih.
sumber
Jika Anda tidak tahu ukuran Array atau sudah memiliki larik yang sudah Anda tambahkan. Anda dapat melakukannya dengan dua cara. Yang pertama menggunakan generik
List<T>
: Untuk melakukan ini, Anda akan ingin mengubah array menjadi avar termsList = terms.ToList();
dan menggunakan metode Tambahkan. Kemudian setelah selesai gunakanvar terms = termsList.ToArray();
metode untuk mengkonversi kembali ke array.Cara kedua adalah mengubah ukuran array saat ini:
Jika Anda menggunakan .NET 3.5
Array.Add(...);
Kedua hal ini akan memungkinkan Anda melakukannya secara dinamis. Jika Anda akan menambahkan banyak item maka cukup gunakan a
List<T>
. Jika hanya beberapa item maka itu akan memiliki kinerja yang lebih baik dengan mengubah ukuran array. Ini karena Anda mengambil lebih banyak hit untuk membuatList<T>
objek.Waktu dalam kutu:
3 item
400 item
sumber
Hanya pendekatan yang berbeda:
sumber
=
alih-alih operator pembanding? Anda bisa meninggalkan variabel battling dan gunakanruns < 400
untuk mengontrol loop.satu pendekatan adalah mengisi array melalui LINQ
jika Anda ingin mengisi array dengan satu elemen, Anda cukup menulis
Selanjutnya, Jika Anda ingin mengisi array dengan beberapa elemen, Anda dapat menggunakan kode sebelumnya dalam satu lingkaran
sumber
sumber
sumber
sumber
Untuk menambahkan nilai daftar ke array string menggunakan C # tanpa menggunakan metode ToArray ()
Output dari array nilai mengandung:
satu
dua
tiga
empat
lima
sumber