Я начал изучение языка C# и кое чего понять не могу, зачем нужно писать, например, при объявлении коллекции var list = new lisc<что-то>, нужно писать new? Где-то видел, что это нужно для того, чтобы дать память для этой коллекции, но и в других случаях слышал, что new отвечает за то, чтоб давать память, заранее спасибо за помощь
new это объявление нового экземпляра, без этого у тебя просто не скомпилируется же --- Сообщение объединено с предыдущим 14 апр 2022 типо var list создал тебе переменную, а уже new List<> дает понять что эта переменная будет типа список
vtlstolyarov, У меня этот вопрос появился из-за того, что я никогда не изучал программирование и решил начать с C#, и там для создания переменной пишут по типу "Int i;" или присваивают значение "Int i = 10;", а тут я увидел, что применяют new, вот и подумал, почему нельзя написать "list<> list;", а потом добавлять в эту коллекцию новые элементы через add.
Anzen211, Если почитать определение Динамические структуры данных, то думаю должно стать понятно : Динамические структуры данных – это структуры данных, память под которые выделяется и освобождается по мере необходимости. Динамические структуры данных в процессе существования в памяти могут изменять не только число составляющих их элементов, но и характер связей между элементами То есть такие типы данных как int, double, float, long, bool - это данные с фиксированным объемом памяти (то есть их один раз как задал, то места они больше не будут занимать -> отсюда и следует строгая типизация, в отличае от Python) (кстати их тоже можно создавать через оператор new: int i = new(i)). А такие типы данных как List, Dictionary и другие динамические структуры данных - у них объем занимаемой памяти может отличаться (поэтому и возвращается ссылка на объект, а не полностью объект) (кстати обычные массивы [] - это тоже данные с фиксированным объемом памяти, то есть как один раз в коде задал массив - таким он и будет, если ты конечно сам его не будешь пересоздавать)