Как передать список в функцию c
Перейти к содержимому

Как передать список в функцию c

  • автор:

как передать список в качестве параметра в функцию

Вы всегда должны избегать использования List<T> в качестве параметра. Не только потому, что этот шаблон уменьшает возможности вызывающей стороны сохранять данные в другом виде сбора, но также и вызывающая сторона должна сначала преобразовать данные в List .

Преобразование IEnumerable в List стоит O (n) сложности, что абсолютно не нужно. И это также создает новый объект.

TL; DR вы всегда должны использовать правильный интерфейс, такой как IEnumerable или IQueryable зависимости от того, что вы хотите сделать со своей коллекцией. 😉

Вы можете передать его как List<DateTime>

Однако лучше использовать наиболее общий (как обычно, базовый) интерфейс, поэтому я бы использовал

Вы также можете вызвать .AsReadOnly() , прежде чем передавать список методу, если вы не хотите, чтобы метод изменял список — добавляйте или удаляйте элементы.

Как передать List<> в функцию

заранее извиняюсь за свой вопрос:
у меня есть List<>
как мне его в функцию передать и как потом его вернуть?
и можно ли вообще такое делать?

если можно меленький пример

Как передать list<string> в поток и как такой же list<string> вывести из потока?
Как передать list&lt;string&gt; в поток и как такой же list&lt;string&gt; вывести из потока в richtextbox.

как передать struct в list
Доброго времени суток. Такой вопрос: есть определенная структура, в которой есть несколько полей.

Как передать из List в DataGrid?
Есть класс с листом в котором записаны имя фамилия и возраст: public class StudentClass < .

C++ pass list as a parameter to a function

I’m trying to build a very simple address book. I created a Contact class and the address book is a simple list. I’m trying to build a function to allow the user to add contacts to the address book. If I take my code outside of the function, it works OK. However, if I put it in, it doesn’t work. I believe it’s a passing by reference vs passing by value problem which I’m not treating as I should. This is the code for the function:

I don’t get any errors however when I try to display all contacts, I can see only the original ones.

4 Answers 4

You’re passing address_book by value, so a copy of what you pass in is made and when you leave the scope of add_contact your changes are lost.

Передать массив по значению функции в C/C++

В этом посте мы обсудим, как передать массив по значению в функцию на C/C++.

Мы знаем, что аргументы функции по умолчанию передаются по значению в C. Однако массивы в C не могут быть переданы функции по значению, и мы можем изменить содержимое массива из вызываемой функции. Это связано с тем, что в функцию передается не массив, а копия указателя на его адрес в памяти. Итак, когда мы передаем массив в функцию, это будет распадаться на указатель независимо от того, объявлен ли параметр как int[] или нет.

Однако несколько трюков позволяют нам передавать массив по значению в C/C++.

1. Использование структур в C

Идея состоит в том, чтобы обернуть массив составным типом данных, таким как структуры в C. Это работает, поскольку структуры передаются в функцию по значению и не распадаются на указатели. В C++ мы можем использовать class.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *