Как я могу просмотреть список и получить каждый элемент?
Я хочу, чтобы вывод выглядел так:
Console.WriteLine("amount is {0}, and type is {1}", myMoney.amount, myMoney.type);
Вот мой код:
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
user1929393
источник
источник
foreach
не клонирует объекты ..Enumerator
.. который являетсяstruct
.. который также находится в стеке. Так что я до сих пор не совсем понимаю, что вы получили с вашим комментарием.Enumerator
а не копия объекта. Но факт остается фактом, в зависимости от того, что вы делаете, большеforeach
циклов по сравнению сfor
циклом. Я только что провел быстрый тест с вашим кодом с 100 000 записей в,List
иforeach
цикл занял в два раза больше времени (фактически в 1,9 раза больше). Это не обязательно верно во всех ситуациях, но во многих. Это зависит от размера списка, от того, сколько операций вы выполняете в цикле и т. Д. Это было то, к чему я стремился.Просто для полноты, есть также способ LINQ / Lambda:
источник
Как и любая другая коллекция. С добавлением
List<T>.ForEach
метода.источник
Вот как бы я написал, используя больше
functional way
. Вот код:источник