Bagaimana saya bisa menelusuri Daftar dan mengambil setiap item?
Saya ingin hasilnya terlihat seperti ini:
Console.WriteLine("amount is {0}, and type is {1}", myMoney.amount, myMoney.type);
Ini kode saya:
static void Main(string[] args)
{
List<Money> myMoney = new List<Money>
{
new Money{amount = 10, type = "US"},
new Money{amount = 20, type = "US"}
};
}
class Money
{
public int amount { get; set; }
public string type { get; set; }
}
c#
for-loop
collections
pengguna1929393
sumber
sumber
foreach
tidak mengkloning objek ..Enumerator
.. yang merupakanstruct
.. yang juga ada di tumpukan. Jadi saya masih belum mengerti apa yang Anda maksud dengan komentar Anda.Enumerator
salinan dan bukan objek. Tetapi faktanya tetap, tergantung pada apa yang Anda lakukan, ada lebih banyak overhead denganforeach
loop vs.for
loop. Saya baru saja menjalankan tes cepat dengan kode Anda dengan 100.000 entri diList
danforeach
loop memakan waktu dua kali lebih lama (sebenarnya 1,9 kali lebih lama). Ini tidak selalu benar dalam semua situasi, tetapi dalam banyak situasi. Itu tergantung pada ukuran Daftar, berapa banyak operasi yang Anda lakukan dalam lingkaran, dll .... Ini adalah apa yang saya maksudkan.Hanya untuk kelengkapan, ada juga cara LINQ / Lambda:
sumber
Sama seperti koleksi lainnya. Dengan tambahan
List<T>.ForEach
metode.sumber
Ini adalah bagaimana saya akan menulis menggunakan lebih banyak
functional way
. Ini kodenya:sumber